Skip to content
  1. Apr 14, 2011
    • Andrew Trick's avatar
      In the pre-RA scheduler, maintain cmp+br proximity. · bfbd972b
      Andrew Trick authored
      This is done by pushing physical register definitions close to their
      use, which happens to handle flag definitions if they're not glued to
      the branch. This seems to be generally a good thing though, so I
      didn't need to add a target hook yet.
      
      The primary motivation is to generate code closer to what people
      expect and rule out missed opportunity from enabling macro-op
      fusion. As a side benefit, we get several 2-5% gains on x86
      benchmarks. There is one regression:
      SingleSource/Benchmarks/Shootout/lists slows down be -10%. But this is
      an independent scheduler bug that will be tracked separately.
      See rdar://problem/9283108.
      
      Incidentally, pre-RA scheduling is only half the solution. Fixing the
      later passes is tracked by:
      <rdar://problem/8932804> [pre-RA-sched] on x86, attempt to schedule CMP/TEST adjacent with condition jump
      
      Fixes:
      <rdar://problem/9262453> Scheduler unnecessary break of cmp/jump fusion
      
      llvm-svn: 129508
      bfbd972b
    • Chris Lattner's avatar
      sink a call into its only use. · 493b3e72
      Chris Lattner authored
      llvm-svn: 129503
      493b3e72
    • Owen Anderson's avatar
      During post-legalization DAG combining, be careful to only create shifts where... · 9c12834e
      Owen Anderson authored
      During post-legalization DAG combining, be careful to only create shifts where the RHS is of the legal type for the new operation.
      
      llvm-svn: 129484
      9c12834e
  2. Apr 13, 2011
  3. Apr 12, 2011
  4. Apr 11, 2011
  5. Apr 09, 2011
  6. Apr 08, 2011
Loading