Skip to content
  1. Aug 20, 2010
  2. Aug 19, 2010
  3. Aug 18, 2010
  4. Aug 17, 2010
  5. Aug 16, 2010
  6. Aug 14, 2010
    • Ted Kremenek's avatar
      Update CMake build. · da2eba58
      Ted Kremenek authored
      llvm-svn: 111063
      da2eba58
    • Jim Grosbach's avatar
      Add a local stack object block allocation pass. This is still an · a030fa52
      Jim Grosbach authored
      experimental pass that allocates locals relative to one another before
      register allocation and then assigns them to actual stack slots as a block
      later in PEI. This will eventually allow targets with limited index offset
      range to allocate additional base registers (not just FP and SP) to
      more efficiently reference locals, as well as handle situations where
      locals cannot be referenced via SP or FP at all (dynamic stack realignment
      together with variable sized objects, for example). It's currently
      incomplete and almost certainly buggy. Work in progress.
      
      Disabled by default and gated via the -enable-local-stack-alloc command
      line option.
      
      rdar://8277890
      
      llvm-svn: 111059
      a030fa52
    • Jakob Stoklund Olesen's avatar
      Clean up the Spiller.h interface. · 27e1f265
      Jakob Stoklund Olesen authored
      The earliestStart argument is entirely specific to linear scan allocation, and
      can be easily calculated by RegAllocLinearScan.
      
      Replace std::vector with SmallVector.
      
      llvm-svn: 111055
      27e1f265
  7. Aug 13, 2010
    • Jakob Stoklund Olesen's avatar
      Implement splitting inside a single block. · d1191ee4
      Jakob Stoklund Olesen authored
      When a live range is contained a single block, we can split it around
      instruction clusters. The current approach is very primitive, splitting before
      and after the largest gap between uses.
      
      llvm-svn: 111043
      d1191ee4
    • Jim Grosbach's avatar
      tidy up whitespace a bit · d1f4465d
      Jim Grosbach authored
      llvm-svn: 111019
      d1f4465d
    • Jakob Stoklund Olesen's avatar
      Let LiveInterval::addRange extend existing ranges, it will verify that value · 3d1027e7
      Jakob Stoklund Olesen authored
      numbers match. The old check could accidentally leave holes in openli.
      
      Also let useIntv add all ranges for the phi-def value inserted by
      enterIntvAtEnd. This works as long at the value mapping is established in
      enterIntvAtEnd.
      
      llvm-svn: 110995
      3d1027e7
    • Jakob Stoklund Olesen's avatar
      Remember to actually update SplitAnalysis statistics now that we have a fancy · 840b81a1
      Jakob Stoklund Olesen authored
      function to do it.
      
      llvm-svn: 110994
      840b81a1
    • Jakob Stoklund Olesen's avatar
      Handle an empty dupli. · 991e4ee8
      Jakob Stoklund Olesen authored
      This can happen if the original interval has been broken into two disconnected
      parts. Ideally, we should be able to detect when the graph is disconnected and
      create separate intervals, but that code is not implemented yet.
      
      Example:
      
      Two basic blocks are both branching to a loop header. Our interval is defined in
      both basic blocks, and live into the loop along both edges.
      
      We decide to split the interval around the loop. The interval is split into an
      inside part and an outside part. The outside part now has two disconnected
      segments, one in each basic block.
      
      If we later decide to split the outside interval into single blocks, we get one
      interval per basic block and an empty dupli for the remainder.
      
      llvm-svn: 110976
      991e4ee8
Loading