fixup! Add tsan support for linux targets

fix setting hidden visibility for caches
diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt
index dd9d8a0..9a8c3043b 100644
--- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt
+++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt
@@ -198,7 +198,6 @@
     private val targetMachine: LLVMTargetMachineRef by targetMachineDelegate
 
     fun execute(llvmModule: LLVMModuleRef) {
-        if (passes.isEmpty()) return
         var options: LLVMPassBuilderOptionsRef? = null
         try {
             initLLVMOnce()
@@ -210,6 +209,7 @@
                 LLVMSetTimePasses(1)
             }
             executeCustomPreprocessing(config, llvmModule)
+            if (passes.isEmpty()) return
             val passDescription = passes.joinToString(",")
             logger?.log {
                 """