SWDEV-83467 - [SPIRV] Add support of SPIRV to CPU
Modifying runtime and compile time to allow SPIRV binaries to run on CPU since it only runs on HSAIL GPU
Added changes to allow conversion of CPU's llvmBinaryIsSpir boolean into compiler library's oclElfSections enum
Cpuprogram.cpp's llvmBinaryIsSpir flag renamed to elfSectionType will now support LLVMIR, SPIR, and SPIRV
Added SPIRV to compiler lib's elf as new oclElfSections enum
cpuprogram.cpp changes also made to gpuprogram.cpp's NullProgram to allow compilation
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/elf.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/elf.hpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#69 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#191 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#266 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#152 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#217 edit
ECR #304775 - Add "dbg" to temp filename to prevent clashing with compiler lib temp file name for dlls.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#68 edit
EPR #396242 - Add T_PAD type for padding to parameters, use struct instead of array for padding. Set name of padding struct as "__paddingFields" when created.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_kernel.h#23 edit
... //depot/stg/opencl/drivers/opencl/compiler/clc/src/e2lType.cpp#53 edit
... //depot/stg/opencl/drivers/opencl/compiler/clc/src/oclMetallvm.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#67 edit
EPR #396242 - Update to HCtoDCmapping: Adding guards for HCtoDCmapping in mapping parameters from LLVM to MVSC. New struct packing rule for doubles in Windows added. Use dc_alignment and hc_alignment to track parameter alignment on device and host compilers respectively.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#66 edit
EPR #409798 - clCompileProgram and clLinkProgram regression for SPIR - set the correct IR type while extracting from binary (aclSPIR, aclLLVMIR) for single SPIR module for CPU.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpuprogram.cpp#62 edit