1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/include/llvm
Vedant Kumar dfa1bc247b [ADT] Add CoalescingBitVector, implemented using IntervalMap [1/3]
Add CoalescingBitVector to ADT. This is part 1 of a 3-part series to
address a compile-time explosion issue in LiveDebugValues.

---

CoalescingBitVector is a bitvector that, under the hood, relies on an
IntervalMap to coalesce elements into intervals.

CoalescingBitVector efficiently represents sets which predominantly
contain contiguous ranges (e.g.  the VarLocSets in LiveDebugValues,
which are very long sequences that look like {1, 2, 3, ...}). OTOH,
CoalescingBitVector isn't good at representing sets with lots of gaps
between elements. The first N coalesced intervals of set bits are stored
in-place (in the initial heap allocation).

Compared to SparseBitVector, CoalescingBitVector offers more predictable
performance for non-sequential find() operations. This provides a
crucial speedup in LiveDebugValues.

Differential Revision: https://reviews.llvm.org/D74984
2020-02-27 12:39:46 -08:00
..
ADT [ADT] Add CoalescingBitVector, implemented using IntervalMap [1/3] 2020-02-27 12:39:46 -08:00
Analysis [DA] Delinearization of fixed-size multi-dimensional arrays 2020-02-27 10:29:01 -05:00
AsmParser
BinaryFormat [macho][NFC] Extract all CPU_(SUB_)TYPE logic to BinaryFormat 2020-02-21 12:43:29 -08:00
Bitcode
Bitstream Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
CodeGen [CallSiteInfo] Handle bundles when updating call site info 2020-02-27 13:57:06 +01:00
Config
DebugInfo [Debuginfo][NFC] Unify error reporting routines inside DebugInfoDWARF. 2020-02-27 18:32:40 +03:00
Demangle
DWARFLinker [dsymutil] Avoid copying swiftinterfaces from the SDK into the dsym bundle 2020-02-26 12:22:50 -08:00
ExecutionEngine [ORC] Remove the JITDylib::SymbolTableEntry::isInMaterializingState() method. 2020-02-25 16:44:12 -08:00
Frontend/OpenMP [OpenMP][Opt] Combine struct ident_t* during deduplication 2020-02-25 14:07:14 -08:00
FuzzMutate Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
IR Remove BinaryOperator::CreateFNeg 2020-02-27 09:06:03 -08:00
IRReader
LineEditor
Linker
LTO [Support] On Windows, ensure hardware_concurrency() extends to all CPU sockets and all NUMA groups 2020-02-14 10:24:22 -05:00
MC [MC][ARM] Resolve some pcrel fixups at assembly time (PR44929) 2020-02-27 12:43:29 +01:00
MCA
Object [ARM] Change ARMAttributeParser::Parse to use support::endianness and simplify 2020-02-21 11:05:33 -08:00
ObjectYAML [yaml2obj] - Automatically assign sh_addr for allocatable sections. 2020-02-22 14:43:54 +03:00
Option Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Passes [Coroutines][5/6] Add coroutine passes to pipeline 2020-02-19 00:57:14 -05:00
ProfileData Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
Remarks [Remarks] Extend the RemarkStreamer to support other emitters 2020-02-04 17:16:02 -08:00
Support Fix LLP64 detection in SwapByteOrder.h 2020-02-26 10:59:45 -08:00
TableGen [llvm][TableGen] Define FieldInit::isConcrete overload 2020-02-10 18:04:58 -08:00
Target [Intrinsic] Add fixed point saturating division intrinsics. 2020-02-24 10:50:52 +01:00
Testing/Support [Error/unittests] Add a FailedWithMessage gtest matcher 2020-02-21 15:29:48 +01:00
TextAPI Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
ToolDrivers
Transforms [InstCombine] DCE instructions earlier 2020-02-27 18:45:59 +01:00
WindowsManifest
WindowsResource
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
InitializePasses.h [VectorCombine] new IR transform pass for partial vector ops 2020-02-09 10:04:41 -05:00
LinkAllIR.h
LinkAllPasses.h [VectorCombine] new IR transform pass for partial vector ops 2020-02-09 10:04:41 -05:00
module.extern.modulemap
module.install.modulemap
module.modulemap Fix modules build after https://reviews.llvm.org/D73835 (IRBuilder virtualization change) 2020-02-17 11:22:44 -08:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h
PassInfo.h
PassRegistry.h
PassSupport.h