Skip to content
  1. Oct 06, 2011
  2. 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
  3. 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
    • Rafael Espindola's avatar
      Remove last references to hotpatch. · 74e5a2a7
      Rafael Espindola authored
      llvm-svn: 141057
      74e5a2a7
  4. Oct 03, 2011
  5. Oct 02, 2011
  6. Oct 01, 2011
  7. Sep 30, 2011
  8. Sep 29, 2011
  9. Sep 27, 2011
  10. Sep 26, 2011
  11. Sep 25, 2011
    • Jakob Stoklund Olesen's avatar
      Add target hook for pseudo instruction expansion. · df977fed
      Jakob Stoklund Olesen authored
      Many targets use pseudo instructions to help register allocation.  Like
      the COPY instruction, these pseudos can be expanded after register
      allocation.  The early expansion can make life easier for PEI and the
      post-ra scheduler.
      
      This patch adds a hook that is called for all remaining pseudo
      instructions from the ExpandPostRAPseudos pass.
      
      llvm-svn: 140472
      df977fed
  12. Sep 23, 2011
  13. Sep 20, 2011
  14. Sep 19, 2011
    • David Greene's avatar
      Better Error Reporting · 39db48d0
      David Greene authored
      Report missing template arguments more helpfully by supplying the name
      of the missing argument in the error message.
      
      llvm-svn: 140034
      39db48d0
  15. Sep 16, 2011
  16. Sep 14, 2011
Loading