llvm-6502/include/llvm
Erik Eckstein 953be88190 Add a lock() function in PassRegistry to speed up multi-thread synchronization.
When calling lock() after all passes are registered, the PassRegistry doesn't need a mutex anymore to look up passes.
This speeds up multithreaded llvm execution by ~5% (tested with 4 threads).
In an asserts build of llvm this has an even bigger impact.

Note that it's not required to use the lock function.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231276 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-04 18:57:11 +00:00
..
ADT Revert "[ADT] fail-fast iterators for DenseMap" 2015-03-04 06:05:37 +00:00
Analysis Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
AsmParser
Bitcode [opaque pointer type] Bitcode support for explicit type parameter on GEP. 2015-02-25 01:08:52 +00:00
CodeGen Move emitDIE and emitAbbrevs to AsmPrinter. NFC. 2015-03-04 02:30:17 +00:00
Config [Support/Timer] Make GetMallocUsage() aware of jemalloc. 2015-02-19 07:27:14 +00:00
DebugInfo [llvm-pdbdump] Display full enum definitions. 2015-03-04 06:09:53 +00:00
ExecutionEngine Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
IR Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
IRReader
LineEditor
Linker [LTO API] add lto_codegen_set_module to set the destination module. 2015-02-24 00:45:56 +00:00
LTO [LTO API] fix memory leakage introduced at r230290. 2015-02-25 21:20:53 +00:00
MC [MC][Target] Implement support for R_X86_64_SIZE{32,64}. 2015-03-04 06:49:39 +00:00
Object Object: Add range iterators to Archive symbols 2015-03-04 02:05:06 +00:00
Option Remove explicit no-op dtor in favor of the implicit dtor so as not to disable/deprecate the copy operations. 2015-03-03 19:53:02 +00:00
ProfileData Add another missing header that used to be included transitively. 2015-03-02 01:08:07 +00:00
Support Recommit r231221: "Devirtualize ~parser<T> by making it protected in base classes and making derived classes final" 2015-03-04 18:52:32 +00:00
TableGen Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
Target Mutate TargetLowering::shouldExpandAtomicRMWInIR to specifically dictate how AtomicRMWInsts are expanded. 2015-03-04 15:47:57 +00:00
Transforms Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
CMakeLists.txt
InitializePasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
LinkAllIR.h
LinkAllPasses.h Remove the Forward Control Flow Integrity pass and its dependencies. 2015-02-27 19:03:38 +00:00
module.modulemap [modules] Add include/llvm/IR/DebugInfoFlags.def to the textual headers list. 2015-02-25 01:44:09 +00:00
module.modulemap.build
Pass.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassAnalysisSupport.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassInfo.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
PassRegistry.h Add a lock() function in PassRegistry to speed up multi-thread synchronization. 2015-03-04 18:57:11 +00:00
PassSupport.h