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
    • Jakob Stoklund Olesen's avatar
      TableGen: Store all allocation orders together. · 331534e5
      Jakob Stoklund Olesen authored
      There is no need to keep the primary order separate.
      
      llvm-svn: 141082
      331534e5
    • Jakob Stoklund Olesen's avatar
      TableGen: Privatize CodeGenRegisterClass::TheDef and Name. · bd92dc60
      Jakob Stoklund Olesen authored
      When TableGen starts creating its own register classes, the synthesized
      classes won't have a Record reference.  All register classes must have a
      name, though.
      
      llvm-svn: 141081
      bd92dc60
    • Jakob Stoklund Olesen's avatar
      TableGen: Don't add synthetic Records to the RecordKeeper. · 54dd1624
      Jakob Stoklund Olesen authored
      The RecordKeeper could be shared by multiple target instances, causing
      duplicate record errors.
      
      llvm-svn: 141080
      54dd1624
    • Craig Topper's avatar
      Add support in the disassembler for ignoring the L-bit on certain VEX... · f18c8963
      Craig Topper authored
      Add support in the disassembler for ignoring the L-bit on certain VEX instructions. Mark instructions that have this behavior. Fixes PR10676.
      
      llvm-svn: 141065
      f18c8963
Loading