llvm-6502/lib/IR
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
..
AsmWriter.cpp DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.cpp
AutoUpgrade.cpp Remove 'llvm.x86.avx2.vbroadcasti128' intrinsic. 2015-03-04 00:13:25 +00:00
BasicBlock.cpp Remove getDataLayout() from Instruction/GlobalValue/BasicBlock/Function 2015-03-03 22:01:13 +00:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp
ConstantFold.h
ConstantRange.cpp
Constants.cpp Simplify code. NFC. 2015-03-02 11:57:04 +00:00
ConstantsContext.h
Core.cpp Fix invalid cast. 2015-02-23 21:51:06 +00:00
DataLayout.cpp Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
DebugInfo.cpp Fix DwarfExpression::AddMachineRegExpression so it doesn't read past the 2015-03-04 17:39:33 +00:00
DebugInfoMetadata.cpp IR: Change MDFile to directly store the filename/directory 2015-02-20 20:35:17 +00:00
DebugLoc.cpp IR: Cleanup dead code, NFC 2015-01-16 17:31:29 +00:00
DiagnosticInfo.cpp
DiagnosticPrinter.cpp
DIBuilder.cpp DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Dominators.cpp
Function.cpp
GCOV.cpp
Globals.cpp Remove getDataLayout() from Instruction/GlobalValue/BasicBlock/Function 2015-03-03 22:01:13 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Remove getDataLayout() from Instruction/GlobalValue/BasicBlock/Function 2015-03-03 22:01:13 +00:00
Instructions.cpp
IntrinsicInst.cpp
IRBuilder.cpp PlaceSafepoints: use IRBuilder helpers 2015-02-26 00:35:56 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Mangler.cpp
MDBuilder.cpp [IC] Turn non-null MD on pointer loads to range MD on integer loads. 2015-02-25 05:10:25 +00:00
Metadata.cpp
MetadataImpl.h
MetadataTracking.cpp
Module.cpp Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
module.modulemap
Pass.cpp
PassManager.cpp
PassRegistry.cpp Add a lock() function in PassRegistry to speed up multi-thread synchronization. 2015-03-04 18:57:11 +00:00
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
UseListOrder.cpp
User.cpp IR: Cleanup comments for Value, User, and MDNode 2014-10-15 20:28:31 +00:00
Value.cpp
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Teach the verifier to enforce that the alignment argument of memory intrinsics must be a power of 2. 2015-03-02 09:35:06 +00:00