Skip to content
  1. Nov 20, 2010
  2. Nov 19, 2010
    • Jakob Stoklund Olesen's avatar
      Add ADT/IntervalMap. · 345945e3
      Jakob Stoklund Olesen authored
      This is a sorted interval map data structure for small keys and values with
      automatic coalescing and bidirectional iteration over coalesced intervals.
      
      Except for coalescing intervals, it provides similar functionality to std::map.
      It is however much more compact for small keys and values, and hopefully faster
      too.
      
      The container object itself can hold the first few intervals without any
      allocations, then it switches to a cache conscious B+-tree representation. A
      recycling allocator can be shared between many containers, even between
      containers holding different types.
      
      The IntervalMap is initially intended to be used with SlotIndex intervals for:
      
      - Backing store for LiveIntervalUnion that is smaller and faster than std::set.
      
      - Backing store for LiveInterval with less overhead than std::vector for typical
        intervals and O(N log N) merging of large intervals. 99% of virtual registers
        need 4 entries or less and would benefit from the small object optimization.
      
      - Backing store for LiveDebugVariable which doesn't exist yet, but will track
        debug variables during register allocation.
      
      This is a work in progress. Missing items are:
      
      - Performance metrics.
      - erase().
      - insert() shrinkage.
      - clear().
      - More performance metrics.
      - Simplification and detemplatization.
      
      llvm-svn: 119787
      345945e3
    • NAKAMURA Takumi's avatar
      unittests/CMakeLists.txt: [PR8225] Tweak linking JITTests on MSVC to add JITTests.def. · 1818edb5
      NAKAMURA Takumi authored
      CMake can pass *.def to link.exe.
      
      llvm-svn: 119783
      1818edb5
    • NAKAMURA Takumi's avatar
      unittests/CMakeLists.txt: Suppress building ValueMapTest on MSVC older than 10(VS2010). · 7a953baa
      NAKAMURA Takumi authored
      MSVC9 and 8 cannot compile ValueMapTest.cpp due to their bug.
      See issue#331418 in Visual Studio.
      
      llvm-svn: 119782
      7a953baa
    • Jakob Stoklund Olesen's avatar
      Revert "Add ADT/IntervalMap.", GCC doesn't like it. · 09770251
      Jakob Stoklund Olesen authored
      This reverts r119772.
      
      llvm-svn: 119773
      09770251
    • Jakob Stoklund Olesen's avatar
      Add ADT/IntervalMap. · 6d89171d
      Jakob Stoklund Olesen authored
      This is a sorted interval map data structure for small keys and values with
      automatic coalescing and bidirectional iteration over coalesced intervals.
      
      Except for coalescing intervals, it provides similar functionality to std::map.
      It is however much more compact for small keys and values, and hopefully faster
      too.
      
      The container object itself can hold the first few intervals without any
      allocations, then it switches to a cache conscious B+-tree representation. A
      recycling allocator can be shared between many containers, even between
      containers holding different types.
      
      The IntervalMap is initially intended to be used with SlotIndex intervals for:
      
      - Backing store for LiveIntervalUnion that is smaller and faster than std::set.
      
      - Backing store for LiveInterval with less overhead than std::vector for typical
        intervals and O(N log N) merging of large intervals. 99% of virtual registers
        need 4 entries or less and would benefit from the small object optimization.
      
      - Backing store for LiveDebugVariable which doesn't exist yet, but will track
        debug variables during register allocation.
      
      This is a work in progress. Missing items are:
      
      - Performance metrics.
      - erase().
      - insert() shrinkage.
      - clear().
      - More performance metrics.
      - Simplification and detemplatization.
      
      llvm-svn: 119772
      6d89171d
  3. Nov 14, 2010
  4. Oct 29, 2010
  5. Oct 28, 2010
  6. Oct 21, 2010
  7. Oct 19, 2010
  8. Oct 11, 2010
  9. Sep 27, 2010
  10. Sep 25, 2010
    • Oscar Fuentes's avatar
      Reverting "CMake: Don't include tools, unittets, or examples as · 46d8a930
      Oscar Fuentes authored
      available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies
      LLVM_INCLUDE_X"
      
      It breaks the configuration phase when cmake is invoked without
      parameters, it is too complex for the purpose and introduces an
      incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X
      must set to OFF for not including X on the build)
      
      llvm-svn: 114795
      46d8a930
  11. Sep 24, 2010
Loading