clover: Add function for building a clover::module for non-TGSI targets v6
authorTom Stellard <thomas.stellard@amd.com>
Tue, 24 Apr 2012 16:44:53 +0000 (12:44 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 1 Jun 2012 15:28:10 +0000 (11:28 -0400)
commit46a13b3b11d859e131399853c11ae2be0eb02f0a
tree1ef27ab4bc0e4952b95bad426e4e2dbfafed1026
parentf2606413ec176be33a6471bfc10443413d8b110a
clover: Add function for building a clover::module for non-TGSI targets v6

v2:
  -Separate IR type and LLVM triple
  -Do the OpenCL C->LLVM IR and linking steps for all PIPE_SHADER_IR
   types.

v3:
  - Coding style fixes
  - Removed compatibility code for LLVM < 3.1
  - Split build_module_llvm() into three functions:
    compile(), link(), and build_module_llvm()

v4:
  - Use struct pipe_compute_program

v5:
  - Don't malloc memory for struct pipe_llvm_program

v6:
  - Fix serialization of llvm bytecode

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
src/gallium/state_trackers/clover/core/compiler.hpp
src/gallium/state_trackers/clover/core/program.cpp
src/gallium/state_trackers/clover/llvm/invocation.cpp