Skip to content
  1. May 30, 2012
    • Jakob Stoklund Olesen's avatar
      Use MCRegUnitIterator to compute regsOverlap(). · 850ef995
      Jakob Stoklund Olesen authored
      The register unit lists are typically much shorter than the register
      overlap lists, and the backing table for register units has better cache
      locality because it is smaller.
      
      This makes llc about 0.5% faster. The regsOverlap() function isn't that hot.
      
      llvm-svn: 157651
      850ef995
    • Jakob Stoklund Olesen's avatar
      Emit register unit lists for each register. · 7f381bd2
      Jakob Stoklund Olesen authored
      Register units are already used internally in TableGen to compute
      register pressure sets and overlapping registers. This patch makes them
      available to the code generators.
      
      The register unit lists are differentially encoded so they can be reused
      for many related registers. This keeps the total size of the lists below
      200 bytes for most targets. ARM has the largest table at 560 bytes.
      
      Add an MCRegUnitIterator for traversing the register unit lists. It
      provides an abstract interface so the representation can be changed in
      the future without changing all clients.
      
      llvm-svn: 157650
      7f381bd2
    • Nuno Lopes's avatar
      bounds checking: · 8bd45f8e
      Nuno Lopes authored
       - hoist checks out of loops where SCEV is smart enough
       - add additional statistics to measure how much we loose for not supporting interprocedural and pointers loaded from memory
      
      llvm-svn: 157649
      8bd45f8e
  2. May 29, 2012
Loading