Skip to content
  1. Jun 03, 2011
  2. Jun 02, 2011
  3. Jun 01, 2011
  4. May 31, 2011
    • Jakob Stoklund Olesen's avatar
      Simplify the eviction policy by making the failsafe explicit. · 73e18b7a
      Jakob Stoklund Olesen authored
      When assigned ranges are evicted, they are put in the RS_Evicted stage and are
      not allowed to evict anything else. That prevents looping automatically.
      
      When evicting ranges just to get a cheaper register, use only spill weights to
      find the possible candidates. Avoid breaking hints for this purpose, it is not
      worth it.
      
      Start implementing more complex eviction heuristics, guarded by the temporary
      -complex-eviction flag. The initial version permits a heavier range to be
      evicted if it doesn't have any uses where the evicting range is live. This makes
      it a good candidate for live ranfge splitting.
      
      llvm-svn: 132358
      73e18b7a
  5. May 30, 2011
  6. May 29, 2011
  7. May 28, 2011
    • Nadav Rotem's avatar
      · d86c1c41
      Nadav Rotem authored
      Refactor the type legalizer. Switch TargetLowering to a new enum - LegalizeTypeAction.
      This patch does not change the behavior of the type legalizer. The codegen
      produces the same code.
      This infrastructural change is needed in order to enable complex decisions
      for vector types (needed by the vector-select patch).
      
      llvm-svn: 132263
      d86c1c41
    • Benjamin Kramer's avatar
      Erase instructions _after_ checking their type. · e260b2b0
      Benjamin Kramer authored
      llvm-svn: 132256
      e260b2b0
    • John McCall's avatar
      Implement and document the llvm.eh.resume intrinsic, which is · 046c47e9
      John McCall authored
      transformed by the inliner into a branch to the enclosing landing pad
      (when inlined through an invoke).  If not so optimized, it is lowered
      DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
      as appropriate).  Its chief advantage is that it takes both the
      exception value and the selector value as arguments, meaning that there
      is zero effort in recovering these;  however, the frontend is required
      to pass these down, which is not actually particularly difficult.
      
      Also document the behavior of landing pads a bit better, and make it
      clearer that it's okay that personality functions don't always land at
      landing pads.  This is just a fact of life.  Don't write optimizations that
      rely on pushing things over an unwind edge.
      
      llvm-svn: 132253
      046c47e9
    • Charles Davis's avatar
      5638b9f0
Loading