Skip to content
  1. Feb 06, 2012
    • Derek Schuff's avatar
      Enable streaming of bitcode · 8b2dcad4
      Derek Schuff authored
      This CL delays reading of function bodies from initial parse until
      materialization, allowing overlap of compilation with bitcode download.
      
      llvm-svn: 149918
      8b2dcad4
  2. Jan 29, 2012
  3. Dec 20, 2011
  4. Dec 16, 2011
  5. Sep 13, 2011
    • Benjamin Kramer's avatar
      Add the DataExtractor utility class. · 88a1d9fc
      Benjamin Kramer authored
      It is an endian-aware helper that can read data from a StringRef. It will
      come in handy for DWARF parsing. This class is inspired by LLDB's
      DataExtractor, but is stripped down to the bare minimum needed for DWARF.
      
      Comes with unit tests!
      
      llvm-svn: 139626
      88a1d9fc
  6. Aug 24, 2011
  7. Jul 26, 2011
  8. Jul 22, 2011
    • Chandler Carruth's avatar
      Move TargetRegistry.cpp from lib/Support to lib/Target where it belongs. · 43025a08
      Chandler Carruth authored
      The header file was already properly located. The previous need for it
      in Support had to do with the version string printing which was fixed in
      r135757.
      
      Also update build dependencies where libraries that needed the
      functionality of the Target library (in the form of the TargetRegistry)
      were picking it up via Support. This is pretty pervasive, essentially
      every TargetInfo library (ARMInfo, etc) uses TargetRegistry, making it
      depend on Target. All of these were previously just sneaking by.
      
      llvm-svn: 135760
      43025a08
  9. Jun 11, 2011
  10. May 19, 2011
  11. Dec 21, 2010
  12. Dec 07, 2010
  13. Nov 29, 2010
  14. 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
    • 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
  15. Oct 17, 2010
  16. Oct 08, 2010
  17. Sep 29, 2010
  18. Aug 20, 2010
  19. Jul 28, 2010
  20. Jun 08, 2010
  21. Dec 23, 2009
  22. Dec 16, 2009
  23. Dec 03, 2009
  24. Sep 17, 2009
  25. Sep 11, 2009
  26. Sep 01, 2009
  27. Aug 30, 2009
  28. Aug 25, 2009
  29. Aug 24, 2009
  30. Jul 31, 2009
  31. Jul 24, 2009
  32. Jul 15, 2009
  33. Jul 14, 2009
  34. Jul 07, 2009
  35. Jun 26, 2009
  36. Jun 21, 2009
Loading