clover/llvm: Move CLOVER_DEBUG stuff into anonymous namespace.
authorEdB <edb+mesa@sigluy.net>
Sun, 14 Dec 2014 10:31:21 +0000 (11:31 +0100)
committerFrancisco Jerez <currojerez@riseup.net>
Wed, 28 Jan 2015 00:27:41 +0000 (02:27 +0200)
[ Francisco Jerez: As we're at it make debug_options[] local to its
  only user and remove temporary. ]

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

index edeed56ea90d971272806efddbb442bbc148a947..085bb6ac1828c706561b88b9c26d4ceb13e9af85 100644 (file)
@@ -672,19 +672,27 @@ namespace {
          targets_initialized = true;
       }
    }
-} // End anonymous namespace
 
 #define DBG_CLC  (1 << 0)
 #define DBG_LLVM (1 << 1)
 #define DBG_ASM  (1 << 2)
 
-static const struct debug_named_value debug_options[] = {
-   {"clc", DBG_CLC, "Dump the OpenCL C code for all kernels."},
-   {"llvm", DBG_LLVM, "Dump the generated LLVM IR for all kernels."},
-   {"asm", DBG_ASM, "Dump kernel assembly code for targets specifying "
-                    "PIPE_SHADER_IR_NATIVE"},
-       DEBUG_NAMED_VALUE_END // must be last
-};
+   unsigned
+   get_debug_flags() {
+      static const struct debug_named_value debug_options[] = {
+         {"clc", DBG_CLC, "Dump the OpenCL C code for all kernels."},
+         {"llvm", DBG_LLVM, "Dump the generated LLVM IR for all kernels."},
+         {"asm", DBG_ASM, "Dump kernel assembly code for targets specifying "
+          "PIPE_SHADER_IR_NATIVE"},
+         DEBUG_NAMED_VALUE_END // must be last
+      };
+      static const unsigned debug_flags =
+         debug_get_flags_option("CLOVER_DEBUG", debug_options, 0);
+
+      return debug_flags;
+   }
+
+} // End anonymous namespace
 
 module
 clover::compile_program_llvm(const compat::string &source,
@@ -695,8 +703,6 @@ clover::compile_program_llvm(const compat::string &source,
                              compat::string &r_log) {
 
    init_targets();
-   static unsigned debug_flags = debug_get_flags_option("CLOVER_DEBUG",
-                                                         debug_options, 0);
 
    std::vector<llvm::Function *> kernels;
    size_t processor_str_len = std::string(target).find_first_of("-");
@@ -721,10 +727,10 @@ clover::compile_program_llvm(const compat::string &source,
 
    optimize(mod, optimization_level, kernels);
 
-   if (debug_flags & DBG_CLC)
+   if (get_debug_flags() & DBG_CLC)
       debug_log(source, ".cl");
 
-   if (debug_flags & DBG_LLVM) {
+   if (get_debug_flags() & DBG_LLVM) {
       std::string log;
       llvm::raw_string_ostream s_log(log);
       mod->print(s_log, NULL);
@@ -745,7 +751,8 @@ clover::compile_program_llvm(const compat::string &source,
          break;
       case PIPE_SHADER_IR_NATIVE: {
          std::vector<char> code = compile_native(mod, triple, processor,
-                                                debug_flags & DBG_ASM, r_log);
+                                                 get_debug_flags() & DBG_ASM,
+                                                 r_log);
          m = build_module_native(code, mod, kernels, address_spaces, r_log);
          break;
       }