Commit 3b273ff4 authored by Stelle, George Widgery's avatar Stelle, George Widgery
Browse files

Disable spirv headers and linking when opencl target disabled

parent 0232a4f9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ find_package(OpenCL)
option(KITSUNE_ENABLE_OPENCL_TARGET
  "Enable SPIRV+OpenCL backend target." FALSE) # ${OpenCL_FOUND}
if (KITSUNE_ENABLE_OPENCL_TARGET)
	add_definitions(-DKITSUNE_ENABLE_OPENCL_TARGET)
  set(OPENCL_EXTRA_LINK_LIBS "-lkitopencl"
    CACHE
    STRING "Extra link libraries for OpenCL runtime target."
+0 −1
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ enum class TapirTargetID {
  OpenMP,   // Lower to OpenMP
  Qthreads, // Lower to Qthreads
  Realm,    // Lower to Realm
  OpenCL,   // Lower to OpenCL 
  Last_TapirTargetID
};

+3 −2
Original line number Diff line number Diff line
@@ -24,7 +24,8 @@ add_llvm_component_library(LLVMTapirOpts

  DEPENDS
  intrinsics_gen

  LINK_LIBS LLVMSPIRVLib
  )

if(KITSUNE_ENABLE_OPENCL_TARGET)
  target_link_libraries(LLVMTapirOpts LLVMSPIRVLib)
endif()
+4 −0
Original line number Diff line number Diff line
@@ -24,7 +24,9 @@
#include "llvm/Transforms/Scalar/GVN.h"
#include "llvm/Transforms/Vectorize.h"
#include "llvm/Support/TargetRegistry.h"
#ifdef KITSUNE_ENABLE_OPENCL_TARGET
#include <LLVMSPIRVLib/LLVMSPIRVLib.h>
#endif
#include <sstream>

using namespace llvm;
@@ -386,11 +388,13 @@ void SPIRVLoop::processOutlinedLoopCall(TapirLoopInfo &TL, TaskOutlineInfo &TOI,
  // generate spirv kernel code
  std::ostringstream str; 
  std::string ErrMsg; 
#ifdef KITSUNE_ENABLE_OPENCL_TARGET
  bool success = writeSpirv(&SPIRVM, str, ErrMsg); 
  if(!success){
    std::cerr << "Failed to compile to spirv: " << ErrMsg << std::endl; 
    exit(1); 
  }
#endif
  auto s = str.str(); 
  Constant *SPIRV = ConstantDataArray::getRaw(s, s.length(), Int8Ty);
  SPIRVGlobal = new GlobalVariable(M, SPIRV->getType(), true,