Skip to content
  1. Mar 19, 2010
    • Bob Wilson's avatar
      Stop trying to merge identical jump tables. This had been inadvertently · bc5af98f
      Bob Wilson authored
      disabled for several months (since svn r88806) and no one noticed.  My fix
      for pr6543 yesterday reenabled it, but broke the ARM port's code for using
      TBB/TBH.  Rather than adding a target hook to disable merging for Thumb2 only,
      I'm just taking this out.  It is not common to have identical jump tables,
      the code we used to merge them was O(N^2), and it only helps code size, not
      performance.
      
      llvm-svn: 98977
      bc5af98f
  2. Mar 17, 2010
  3. Mar 14, 2010
  4. Mar 10, 2010
  5. Mar 08, 2010
  6. Mar 05, 2010
  7. Feb 09, 2010
  8. Jan 26, 2010
    • Chris Lattner's avatar
      Rearrange handling of jump tables. Highlights: · b6db2c6b
      Chris Lattner authored
      1. MachineJumpTableInfo is now created lazily for a function the first time
         it actually makes a jump table instead of for every function.
      2. The encoding of jump table entries is now described by the
         MachineJumpTableInfo::JTEntryKind enum.  This enum is determined by the
         TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
         throughout the compiler that "knows" that jump table entries are always
         32-bits in pic mode (for example).
      3. The size and alignment of jump table entries is now calculated based on
         their kind, instead of at machinefunction creation time.
      
      Future work includes using the EntryKind in more places in the compiler,
      eliminating other logic that "knows" the layout of jump tables in various
      situations.
      
      llvm-svn: 94470
      b6db2c6b
  9. Dec 24, 2009
    • David Greene's avatar
      · d60abbf7
      David Greene authored
      Change errs() to dbgs().
      
      llvm-svn: 92097
      d60abbf7
  10. Dec 16, 2009
  11. Dec 15, 2009
  12. Dec 11, 2009
    • Bill Wendling's avatar
      Don't try to move a MBB into the fall-through position if it's a landing pad or · b87b9925
      Bill Wendling authored
      branches only to a landing pad. Without this check, the compiler would go into
      an infinite loop because the branch to a landing pad is an "abnormal" edge which
      wasn't being taken into account.
      
      This is the meat of that fix:
      
        if (!PrevBB.canFallThrough() && !MBB->BranchesToLandingPad(MBB)) {
      
      The other stuff is simplification of the "branches to a landing pad" code.
      
      llvm-svn: 91161
      b87b9925
  13. Dec 05, 2009
  14. Dec 03, 2009
  15. Nov 26, 2009
    • Bob Wilson's avatar
      Split tail duplication into a separate pass. This is needed to avoid · 2d4ff12d
      Bob Wilson authored
      running tail duplication when doing branch folding for if-conversion, and
      we also want to be able to run tail duplication earlier to fix some
      reg alloc problems.  Move the CanFallThrough function from BranchFolding
      to MachineBasicBlock so that it can be shared by TailDuplication.
      
      llvm-svn: 89904
      2d4ff12d
  16. Nov 25, 2009
    • Bob Wilson's avatar
      Refactor target hook for tail duplication as requested by Chris. · d4d40670
      Bob Wilson authored
      Make tail duplication of indirect branches much more aggressive (for targets
      that indicate that it is profitable), based on further experience with
      this transformation.  I compiled 3 large applications with and without
      this more aggressive tail duplication and measured minimal changes in code
      size.  ("size" on Darwin seems to round the text size up to the nearest
      page boundary, so I can only say that any code size increase was less than
      one 4k page.) Radar 7421267.
      
      llvm-svn: 89814
      d4d40670
  17. Nov 19, 2009
  18. Nov 18, 2009
  19. Nov 17, 2009
  20. Nov 16, 2009
  21. Nov 13, 2009
  22. Nov 12, 2009
  23. Nov 11, 2009
Loading