Skip to content
  1. Feb 11, 2009
    • Evan Cheng's avatar
      Implement PR3495: local spiller optimization. The local spiller can now keep... · a1968b0f
      Evan Cheng authored
      Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies.
      
      llvm-svn: 64298
      a1968b0f
    • Dan Gohman's avatar
      When scheduling a block in parts, keep track of the overall · dfaf646c
      Dan Gohman authored
      instruction index across each part. Instruction indices are used
      to make live range queries, and live ranges can extend beyond
      scheduling region boundaries.
      
      Refactor the ScheduleDAGSDNodes class some more so that it
      doesn't have to worry about this additional information.
      
      llvm-svn: 64288
      dfaf646c
    • Dan Gohman's avatar
      Use iterators to iterate through the Preds array instead of · 27fa408b
      Dan Gohman authored
      an index. This code is on the hot-path because the current
      way SDep edges are uniqued has quadratic complexity.
      
      llvm-svn: 64262
      27fa408b
    • Dan Gohman's avatar
      Consider any instruction that modifies the stack pointer to be · b3dbb21d
      Dan Gohman authored
      a scheduling region boundary.  This isn't necessary for
      correctness; it helps with compile time, as it avoids the need
      for data- and anti-dependencies from all spills and reloads on
      the stack-pointer modification.
      
      llvm-svn: 64255
      b3dbb21d
    • Dan Gohman's avatar
      Factor out more code for computing register live-range informationfor · b9543435
      Dan Gohman authored
      scheduling, and generalize is so that preserves state across
      scheduling regions. This fixes incorrect live-range information around
      terminators and labels, which are effective region boundaries.
      
      In place of looking for terminators to anchor inter-block dependencies,
      introduce special entry and exit scheduling units for this purpose.
      
      llvm-svn: 64254
      b9543435
  2. Feb 10, 2009
  3. Feb 09, 2009
  4. Feb 08, 2009
  5. Feb 07, 2009
  6. Feb 06, 2009
  7. Feb 05, 2009
Loading