Displaying 2 results from an estimated 2 matches for "passonc".
Did you mean:
  passync
  
2011 Nov 07
0
[LLVMdev] r139934 requires (correct?) code organization changes
...em asserts
because a DominatorTree pass option has already been created. This is perplexing since 
this means that the atomic compare and swap operation on static var "initialized" 
contained in CALL_ONCE_INITIALIZATION(...) did not prevent the pass's associated 
initialize""PassOnce(...) function from being invoked more than once. Logically, baring 
other knowledge, the only way this can happen is that CALL_ONCE_INITIALIZATION(...) 
is instantiated in at least two places. Although I forced the example to exemplify the issue 
for the DominatorTree pass, this problem has nothin...
2015 Feb 24
2
[LLVMdev] Removing contention in PassRegistry accesses to speed up compiles
...\
-    sys::MemoryFence(); \
-    while (tmp != 2) { \
-      tmp = initialized; \
-      sys::MemoryFence(); \
-    } \
-  } \
-  TsanHappensAfter(&initialized);
+    initialized = 1; \
+  }
 
 #define INITIALIZE_PASS(passName, arg, name, cfg, analysis) \
   static void* initialize##passName##PassOnce(PassRegistry &Registry) { \
diff --git a/llvm/llvm.svnrev.170375/lib/VMCore/PassRegistry.cpp b/llvm/llvm.svnrev.170375/lib/VMCore/PassRegistry.cpp
index 5d22879..8cca689 100644
--- a/llvm/llvm.svnrev.170375/lib/VMCore/PassRegistry.cpp
+++ b/llvm/llvm.svnrev.170375/lib/VMCore/PassRegistry.cpp
@...