Skip to content
  1. Jul 27, 2011
    • Jakob Stoklund Olesen's avatar
      Add support for multi-way live range splitting. · dab4b9a4
      Jakob Stoklund Olesen authored
      When splitting global live ranges, it is now possible to split for
      multiple destination intervals at once. Previously, we only had the main
      and stack intervals.
      
      Each edge bundle is assigned to a split candidate, and splitAroundRegion
      will insert copies between the candidate intervals and the stack
      interval as needed.
      
      The multi-way splitting is used to split around compact regions when
      enabled with -compact-regions. The best candidate register still gets
      all the bundles it wants, but everything outside the main interval is
      first split around compact regions before we create single-block
      intervals.
      
      Compact region splitting still causes some regressions, so it is not
      enabled by default.
      
      llvm-svn: 136186
      dab4b9a4
    • Jakob Stoklund Olesen's avatar
      Print out the MBB live-in registers. · b1459dbc
      Jakob Stoklund Olesen authored
      llvm-svn: 136178
      b1459dbc
    • Jakob Stoklund Olesen's avatar
      Eliminate copies of undefined values during coalescing. · c3bcb021
      Jakob Stoklund Olesen authored
      These copies would coalesce easily, but the resulting value would be
      defined by a deleted instruction. Now we also remove the undefined value
      number from the destination register.
      
      This fixes PR10503.
      
      llvm-svn: 136174
      c3bcb021
    • Benjamin Kramer's avatar
      Add a neat little two's complement hack for x86. · 124ac2b9
      Benjamin Kramer authored
      On x86 we can't encode an immediate LHS of a sub directly. If the RHS comes from a XOR with a constant we can
      fold the negation into the xor and add one to the immediate of the sub. Then we can turn the sub into an add,
      which can be commuted and encoded efficiently.
      
      This code is generated for __builtin_clz and friends.
      
      llvm-svn: 136167
      124ac2b9
    • Bruno Cardoso Lopes's avatar
      Recognize unpckh* masks and match 256-bit versions. The new versions are · f8fe47bd
      Bruno Cardoso Lopes authored
      different from the previous 128-bit because they work in lanes.
      Update a few comments and add testcases
      
      llvm-svn: 136157
      f8fe47bd
    • Dan Gohman's avatar
      Delete unnecessarily cautious LastCALLSEQ code. · 9eb62cd1
      Dan Gohman authored
      llvm-svn: 136156
      9eb62cd1
  2. Jul 26, 2011
Loading