Skip to content
  1. Oct 17, 2011
  2. Oct 16, 2011
  3. Oct 15, 2011
  4. Oct 14, 2011
  5. Oct 12, 2011
  6. Oct 11, 2011
  7. Oct 10, 2011
  8. Oct 08, 2011
  9. Oct 07, 2011
    • David Greene's avatar
      Remove Multidefs · 33f61997
      David Greene authored
      Multidefs are a bit unwieldy and incomplete.  Remove them in favor of
      another mechanism, probably for loops.
      
      Revert "Make Test More Thorough"
      Revert "Fix a typo."
      Revert "Vim Support for Multidefs"
      Revert "Emacs Support for Multidefs"
      Revert "Document Multidefs"
      Revert "Add a Multidef Test"
      Revert "Update Test for Multidefs"
      Revert "Process Multidefs"
      Revert "Parser Multidef Support"
      Revert "Lexer Support for Multidefs"
      Revert "Add Multidef Data Structures"
      
      llvm-svn: 141378
      33f61997
    • Craig Topper's avatar
      Revert part of r141274. Only need to change encoding for xchg %eax, %eax in... · 5aebebe1
      Craig Topper authored
      Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine.
      
      llvm-svn: 141353
      5aebebe1
  10. Oct 06, 2011
  11. Oct 05, 2011
    • Jakob Stoklund Olesen's avatar
      Add TRI::getSubClassWithSubReg(RC, Idx) function. · 3a541b04
      Jakob Stoklund Olesen authored
      This function is used to constrain a register class to a sub-class that
      supports the given sub-register index.
      
      For example, getSubClassWithSubReg(GR32, sub_8bit) -> GR32_ABCD.
      
      The function will be used to compute register classes when emitting
      INSERT_SUBREG and EXTRACT_SUBREG nodes and for register class inflation
      of sub-register operations.
      
      The version provided by TableGen is usually adequate, but targets can
      override.
      
      llvm-svn: 141142
      3a541b04
  12. Oct 04, 2011
    • Jakob Stoklund Olesen's avatar
      Properly use const_iterator. · b1147c46
      Jakob Stoklund Olesen authored
      This should unbreak the Windows build.
      
      llvm-svn: 141105
      b1147c46
    • Jakob Stoklund Olesen's avatar
      Teach TableGen to infer missing register classes. · 03efe84d
      Jakob Stoklund Olesen authored
      The set of register classes should be closed under sub-register
      operations and intersections. That will allow the register allocator to
      model combinations of constraints accurately.
      
      This patch implements the easiest form of register class inference:  For
      every register class, and for every sub-register SubIdx, the subset of
      registers in RC that have a SubIdx sub-register should also be a register
      class.
      
      This does create some new register classes for the targets in the tree:
      
      ARM gets a new QQQQPR_with_ssub_0.  This class was omitted from the .td
      file on purpose because it only has two registers.  InstrEmitter and
      RegisterCoalescer have safeguards against selecting too small register
      classes, so it is harmless.
      
      PowerPC gets a G8RC_with_sub_32 class because LR is not a sub_32
      sub-register of LR8.  I think that might be an omission?
      
      X86 puts RIP in the GR64 class, and since that register doesn't have
      8-bit sub-registers, we get:
      
        GR64_with_sub_8bit
        GR64_TC_with_sub_8bit
        GR64_NOREX_with_sub_8bit
        GR64_TC_with_sub_8bit_hi
      
      The various CodeGen classes have already been fixed so adding new
      register classes should not affect compile time.
      
      llvm-svn: 141084
      03efe84d
Loading