[PATCH 1013/1017] allow overriding kernellib_name for distro builds with POCL_KERNELL...
authorAndreas Beckmann <anbe@debian.org>
Sat, 9 Apr 2022 14:30:15 +0000 (16:30 +0200)
committerAndreas Beckmann <anbe@debian.org>
Sun, 2 Apr 2023 23:08:50 +0000 (00:08 +0100)
the kernellib_name (and corresponding llvm_cpu) can be overridden
to a target with a subset of the features supported by the current cpu

this will allow running e.g. code generation and tests for sse2 (but no
newer features) on a modern cpu

Gbp-Pq: Name 1013-allow-overriding-kernellib_name-for-distro-builds-wi.patch

lib/CL/pocl_llvm_utils.cc

index 8274d98a92cfc66e52ee5cd7eb4a41fe17062e96..56abfb069545b84bf41eca11e751ee31752972dd 100644 (file)
@@ -193,6 +193,8 @@ const char *pocl_get_distro_kernellib_name() {
   if (!llvm::sys::getHostCPUFeatures(Features))
     POCL_ABORT("LLVM can't get host CPU flags!\n");
 
+  const char *custom = pocl_get_string_option("POCL_KERNELLIB_NAME", NULL);
+
   const kernellib_features *best_match = NULL;
   for (const kernellib_features *kf = kernellib_feature_map; kf->kernellib_name;
        ++kf) {
@@ -201,6 +203,8 @@ const char *pocl_get_distro_kernellib_name() {
       matches &= Features[*f];
     if (matches) {
       best_match = kf;
+      if (custom && !strcmp(custom, kf->kernellib_name))
+        break;
     }
   }