Skip to content
  1. Nov 07, 2011
  2. Nov 03, 2011
  3. Nov 02, 2011
    • Chandler Carruth's avatar
      The TableGen parts of the CMake build are seriously broken. This fixes · 39bf89b3
      Chandler Carruth authored
      one aspect of them by having them use the (annoying, if not broken)
      proper library dependency model for adding the LLVMTableGen library as
      a dependency. This could manifest as a link order issue in the presence
      of separate LLVM / Clang source builds with CMake and a linker that
      really cares about such things.
      
      Also, add the Support dependency to llvm-tblgen itself so that it
      doesn't rely on TableGen's transitive Support dependency. A parallel
      change for clang-tblgen will be forthcoming.
      
      llvm-svn: 143531
      39bf89b3
  4. Oct 29, 2011
  5. Oct 28, 2011
  6. Oct 27, 2011
  7. Oct 23, 2011
  8. Oct 22, 2011
  9. Oct 21, 2011
  10. Oct 19, 2011
  11. Oct 18, 2011
  12. Oct 17, 2011
  13. Oct 16, 2011
  14. Oct 15, 2011
  15. Oct 14, 2011
  16. Oct 12, 2011
  17. Oct 11, 2011
  18. Oct 10, 2011
  19. Oct 08, 2011
  20. Oct 07, 2011
  21. Oct 06, 2011
  22. 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
  23. 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