mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-23 15:29:51 +00:00
75627d3d2e
- Use a DenseSet instead of a FoldingSet to cache canonicalized nodes. This reduces the overhead of double-hashing. - Use reference counts in ImutAVLTree to much more aggressively recover tree nodes that are no longer usable. We can generate many transient nodes while using add() and remove() on ImmutableSet/ImmutableMaps to generate a final set/map. For the clang static analyzer (the main client of these data structures), this results in a slight speedup (0.5%) when analyzing sqlite3, but much more importantly results in a 30-60% reduction in peak memory usage when the analyzer is analyzing a given function in a file. On average that's about a ** 44% reduction ** in the memory footprint of the static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120459 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ADT | ||
Analysis | ||
Assembly | ||
Bitcode | ||
CodeGen | ||
CompilerDriver | ||
Config | ||
ExecutionEngine | ||
MC | ||
Object | ||
Support | ||
Target | ||
Transforms | ||
AbstractTypeUser.h | ||
Argument.h | ||
Attributes.h | ||
AutoUpgrade.h | ||
BasicBlock.h | ||
CallGraphSCCPass.h | ||
CallingConv.h | ||
CMakeLists.txt | ||
Constant.h | ||
Constants.h | ||
DerivedTypes.h | ||
Function.h | ||
GlobalAlias.h | ||
GlobalValue.h | ||
GlobalVariable.h | ||
GVMaterializer.h | ||
InitializePasses.h | ||
InlineAsm.h | ||
InstrTypes.h | ||
Instruction.def | ||
Instruction.h | ||
Instructions.h | ||
IntrinsicInst.h | ||
Intrinsics.h | ||
Intrinsics.td | ||
IntrinsicsAlpha.td | ||
IntrinsicsARM.td | ||
IntrinsicsCellSPU.td | ||
IntrinsicsPowerPC.td | ||
IntrinsicsX86.td | ||
IntrinsicsXCore.td | ||
LinkAllPasses.h | ||
LinkAllVMCore.h | ||
Linker.h | ||
LLVMContext.h | ||
Metadata.h | ||
Module.h | ||
OperandTraits.h | ||
Operator.h | ||
Pass.h | ||
PassAnalysisSupport.h | ||
PassManager.h | ||
PassManagers.h | ||
PassRegistry.h | ||
PassSupport.h | ||
SymbolTableListTraits.h | ||
Type.h | ||
TypeSymbolTable.h | ||
Use.h | ||
User.h | ||
Value.h | ||
ValueSymbolTable.h |