Skip to content
  1. Nov 15, 2011
  2. Nov 14, 2011
  3. Nov 13, 2011
    • Jakob Stoklund Olesen's avatar
      Rename SlotIndexes to match how they are used. · 90b5e565
      Jakob Stoklund Olesen authored
      The old naming scheme (load/use/def/store) can be traced back to an old
      linear scan article, but the names don't match how slots are actually
      used.
      
      The load and store slots are not needed after the deferred spill code
      insertion framework was deleted.
      
      The use and def slots don't make any sense because we are using
      half-open intervals as is customary in C code, but the names suggest
      closed intervals.  In reality, these slots were used to distinguish
      early-clobber defs from normal defs.
      
      The new naming scheme also has 4 slots, but the names match how the
      slots are really used.  This is a purely mechanical renaming, but some
      of the code makes a lot more sense now.
      
      llvm-svn: 144503
      90b5e565
  4. Oct 06, 2011
    • Jakob Stoklund Olesen's avatar
      Fix sub-register operand verification. · eb38bd8c
      Jakob Stoklund Olesen authored
      PhysReg operands are not allowed to have sub-register indices at all.
      
      For virtual registers with sub-reg indices, check that all registers in
      the register class support the sub-reg index.
      
      llvm-svn: 141220
      eb38bd8c
  5. Sep 24, 2011
  6. Sep 21, 2011
    • Andrew Trick's avatar
      Lower ARM adds/subs to add/sub after adding optional CPSR operand. · 924123ac
      Andrew Trick authored
      This is still a hack until we can teach tblgen to generate the
      optional CPSR operand rather than an implicit CPSR def. But the
      strangeness is now limited to the selection DAG. ADD/SUB MI's no
      longer have implicit CPSR defs, nor do we allow flag setting variants
      of these opcodes in machine code. There are several corner cases to
      consider, and getting one wrong would previously lead to nasty
      miscompilation. It's not the first time I've debugged one, so this
      time I added enough verification to ensure it won't happen again.
      
      llvm-svn: 140228
      924123ac
  7. Sep 15, 2011
    • Jakob Stoklund Olesen's avatar
      Stop verifying hasPHIKill() flags. · 4c099551
      Jakob Stoklund Olesen authored
      There is only one legitimate use remaining, in addIntervalsForSpills().
      All other calls to hasPHIKill() are only used to update PHIKill flags.
      
      The addIntervalsForSpills() function is part of the old spilling
      framework, only used by linearscan.
      
      llvm-svn: 139783
      4c099551
  8. Jul 30, 2011
  9. Jun 28, 2011
  10. Jun 27, 2011
  11. Jun 02, 2011
  12. May 19, 2011
  13. May 05, 2011
    • Bill Wendling's avatar
      SjLj EH could produce a machine basic block that legitimately has more than one · 2a40131f
      Bill Wendling authored
      landing pad as its successor.
      
      SjLj exception handling jumps to the correct landing pad via a switch statement
      that's generated right before code-gen. Loosen the constraint in the machine
      instruction verifier to allow for this. Note, this isn't the most rigorous check
      since we cannot determine where that switch statement came from. But it's
      marginally better than turning this check off when SjLj exceptions are used.
      <rdar://problem/9187612>
      
      llvm-svn: 130881
      2a40131f
  14. Apr 06, 2011
  15. Mar 31, 2011
  16. Feb 04, 2011
    • Jakob Stoklund Olesen's avatar
      Verify kill flags conservatively. · 66d0f399
      Jakob Stoklund Olesen authored
      Allow a live range to end with a kill flag, but don't allow a kill flag that
      doesn't end the live range.
      
      This makes the machine code verifier more useful during register allocation when
      kill flag computation is deferred.
      
      llvm-svn: 124838
      66d0f399
  17. Jan 12, 2011
  18. Jan 09, 2011
  19. Dec 29, 2010
  20. Dec 27, 2010
  21. Dec 20, 2010
  22. Dec 19, 2010
  23. Dec 18, 2010
  24. Dec 17, 2010
  25. Nov 17, 2010
  26. Nov 16, 2010
  27. Nov 02, 2010
  28. Nov 01, 2010
  29. Oct 30, 2010
Loading