mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
clover: Fix compilation after clang r315871
v2: use a more generic compat function v3: rename and formatting cleanup Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103388 Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Francisco Jerez <currojerez@riseup.net> CC: <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
b85cd69415
commit
a6d38f476b
2 changed files with 12 additions and 5 deletions
|
|
@ -70,7 +70,6 @@ namespace {
|
|||
make_kernel_args(const Module &mod, const std::string &kernel_name,
|
||||
const clang::CompilerInstance &c) {
|
||||
std::vector<module::argument> args;
|
||||
const auto address_spaces = c.getTarget().getAddressSpaceMap();
|
||||
const Function &f = *mod.getFunction(kernel_name);
|
||||
::llvm::DataLayout dl(&mod);
|
||||
const auto size_type =
|
||||
|
|
@ -128,8 +127,8 @@ namespace {
|
|||
const unsigned address_space =
|
||||
cast< ::llvm::PointerType>(actual_type)->getAddressSpace();
|
||||
|
||||
if (address_space == address_spaces[clang::LangAS::opencl_local
|
||||
- compat::lang_as_offset]) {
|
||||
if (address_space == compat::target_address_space(
|
||||
c.getTarget(), clang::LangAS::opencl_local)) {
|
||||
args.emplace_back(module::argument::local, arg_api_size,
|
||||
target_size, target_align,
|
||||
module::argument::zero_ext);
|
||||
|
|
|
|||
|
|
@ -69,11 +69,19 @@ namespace clover {
|
|||
typedef ::llvm::TargetLibraryInfo target_library_info;
|
||||
#endif
|
||||
|
||||
template<typename T, typename AS>
|
||||
unsigned target_address_space(const T &target, const AS lang_as) {
|
||||
const auto &map = target.getAddressSpaceMap();
|
||||
#if HAVE_LLVM >= 0x0500
|
||||
return map[static_cast<unsigned>(lang_as)];
|
||||
#else
|
||||
return map[lang_as - clang::LangAS::Offset];
|
||||
#endif
|
||||
}
|
||||
|
||||
#if HAVE_LLVM >= 0x0500
|
||||
const auto lang_as_offset = 0;
|
||||
const clang::InputKind ik_opencl = clang::InputKind::OpenCL;
|
||||
#else
|
||||
const auto lang_as_offset = clang::LangAS::Offset;
|
||||
const clang::InputKind ik_opencl = clang::IK_OpenCL;
|
||||
#endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue