Skip to content
  1. Nov 17, 2007
    • Evan Cheng's avatar
      Live interval splitting: · 8e223793
      Evan Cheng authored
      When a live interval is being spilled, rather than creating short, non-spillable
      intervals for every def / use, split the interval at BB boundaries. That is, for
      every BB where the live interval is defined or used, create a new interval that
      covers all the defs and uses in the BB.
      
      This is designed to eliminate one common problem: multiple reloads of the same
      value in a single basic block. Note, it does *not* decrease the number of spills
      since no copies are inserted so the split intervals are *connected* through
      spill and reloads (or rematerialization). The newly created intervals can be
      spilled again, in that case, since it does not span multiple basic blocks, it's
      spilled in the usual manner. However, it can reuse the same stack slot as the
      previously split interval.
      
      This is currently controlled by -split-intervals-at-bb.
      
      llvm-svn: 44198
      8e223793
    • Evan Cheng's avatar
      Shrinkfy. · aa72f72b
      Evan Cheng authored
      llvm-svn: 44197
      aa72f72b
    • Evan Cheng's avatar
      Typo. · 13e8b022
      Evan Cheng authored
      llvm-svn: 44196
      13e8b022
    • Dale Johannesen's avatar
      Testcase from PR 1508 (although its's somewhat · a674612d
      Dale Johannesen authored
      orthogonal to the main problem there)
      
      llvm-svn: 44194
      a674612d
  2. Nov 16, 2007
  3. Nov 15, 2007
Loading