Skip to content
  1. Sep 28, 2011
    • Jakob Stoklund Olesen's avatar
      Rename class and clean up source. · bd5109f1
      Jakob Stoklund Olesen authored
      No functional change intended.
      
      llvm-svn: 140664
      bd5109f1
    • Jakob Stoklund Olesen's avatar
      Rename SSEDomainFix -> lib/CodeGen/ExecutionDepsFix. · 934b7d76
      Jakob Stoklund Olesen authored
      I'll clean up the source in the next commit.
      
      llvm-svn: 140663
      934b7d76
    • Bill Wendling's avatar
      This is the start of the new SjLj EH preparation pass, which will replace the · 354ff9e3
      Bill Wendling authored
      current IR-level pass.
      
      The old SjLj EH pass has some problems, especially with the new EH model. Most
      significantly, it violates some of the new restrictions the new model has. For
      instance, the 'dispatch' table wants to jump to the landing pad, but we cannot
      allow that because only an invoke's unwind edge can jump to a landing pad. This
      requires us to mangle the code something awful. In addition, we need to keep the
      now dead landingpad instructions around instead of CSE'ing them because the
      DWARF emitter uses that information (they are dead because no control flow edge
      will execute them - the control flow edge from an invoke's unwind is superceded
      by the edge coming from the dispatch).
      
      Basically, this pass belongs not at the IR level where SSA is king, but at the
      code-gen level, where we have more flexibility.
      
      llvm-svn: 140646
      354ff9e3
  2. Sep 27, 2011
  3. Sep 26, 2011
  4. Sep 25, 2011
  5. Sep 24, 2011
  6. Sep 23, 2011
  7. Sep 22, 2011
  8. Sep 21, 2011
  9. Sep 20, 2011
    • Andrew Trick's avatar
      Restore hasPostISelHook tblgen flag. · 52363bdb
      Andrew Trick authored
      No functionality change. The hook makes it explicit which patterns
      require "special" handling. i.e. it self-documents tblgen
      deficiencies. I plan to add verification in ExpandISelPseudos and
      Thumb2SizeReduce to catch any missing hasPostISelHooks. Otherwise it's
      too fragile.
      
      llvm-svn: 140160
      52363bdb
    • Andrew Trick's avatar
      ARM isel bug fix for adds/subs operands. · 8586e62d
      Andrew Trick authored
      Modified ARMISelLowering::AdjustInstrPostInstrSelection to handle the
      full gamut of CPSR defs/uses including instructins whose "optional"
      cc_out operand is not really optional. This allowed removal of the
      hasPostISelHook to simplify the .td files and make the implementation
      more robust.
      Fixes rdar://10137436: sqlite3 miscompile
      
      llvm-svn: 140134
      8586e62d
    • Andrew Trick's avatar
      whitespace · 53df4b6d
      Andrew Trick authored
      llvm-svn: 140133
      53df4b6d
  10. Sep 18, 2011
  11. Sep 16, 2011
    • Benjamin Kramer's avatar
      Namespacify. · 67b014b2
      Benjamin Kramer authored
      llvm-svn: 139892
      67b014b2
    • Jakob Stoklund Olesen's avatar
      Spill mode: Hoist back-copies locally. · e2c92a31
      Jakob Stoklund Olesen authored
      The leaveIntvAfter() function normally inserts a back-copy after the
      requested instruction, making the back-copy kill the live range.
      
      In spill mode, try to insert the back-copy before the last use instead.
      That means the last use becomes the kill instead of the back-copy.  This
      lowers the register pressure because the last use can now redefine the
      same register it was reading.
      
      This will also improve compile time: The back-copy isn't a kill, so
      hoisting it in hoistCopiesForSize() won't force a recomputation of the
      source live range.  Similarly, if the back-copy isn't hoisted by the
      splitter, the spiller will not attempt hoisting it locally.
      
      llvm-svn: 139883
      e2c92a31
    • Jakob Stoklund Olesen's avatar
      Disable local spill hoisting for non-killing copies. · e8339b2e
      Jakob Stoklund Olesen authored
      If the source register is live after the copy being spilled, there is no
      point to hoisting it.  Hoisting inside a basic block only serves to
      resolve interferences by shortening the live range of the source.
      
      llvm-svn: 139882
      e8339b2e
  12. Sep 15, 2011
Loading