Skip to content
  1. Dec 09, 2008
    • Dan Gohman's avatar
      Rewrite the SDep class, and simplify some of the related code. · 2d170896
      Dan Gohman authored
      The Cost field is removed. It was only being used in a very limited way,
      to indicate when the scheduler should attempt to protect a live register,
      and it isn't really needed to do that. If we ever want the scheduler to
      start inserting copies in non-prohibitive situations, we'll have to
      rethink some things anyway.
      
      A Latency field is added. Instead of giving each node a single
      fixed latency, each edge can have its own latency. This will eventually
      be used to model various micro-architecture properties more accurately.
      
      The PointerIntPair class and an internal union are now used, which
      reduce the overall size.
      
      llvm-svn: 60806
      2d170896
    • Dan Gohman's avatar
      Minor code simplification. · 9356d8f7
      Dan Gohman authored
      llvm-svn: 60804
      9356d8f7
    • Bill Wendling's avatar
      Add sub/mul overflow intrinsics. This currently doesn't have a · db8ec2d7
      Bill Wendling authored
      target-independent way of determining overflow on multiplication. It's very
      tricky. Patch by Zoltan Varga!
      
      llvm-svn: 60800
      db8ec2d7
    • Duncan Sands's avatar
      Fix PR3117: not all nodes being legalized. The · 445071c4
      Duncan Sands authored
      essential problem was that the DAG can contain
      random unused nodes which were never analyzed.
      When remapping a value of a node being processed,
      such a node may become used and need to be analyzed;
      however due to operands being transformed during
      analysis the node may morph into a different one.
      Users of the morphing node need to be updated, and
      this wasn't happening.  While there I added a bunch
      of documentation and sanity checks, so I (or some
      other poor soul) won't have to scratch their head
      over this stuff so long trying to remember how it
      was all supposed to work next time some obscure
      problem pops up!  The extra sanity checking exposed
      a few places where invariants weren't being preserved,
      so those are fixed too.  Since some of the sanity
      checking is expensive, I added a flag to turn it
      on.  It is also turned on when building with
      ENABLE_EXPENSIVE_CHECKS=1.
      
      llvm-svn: 60797
      445071c4
    • Evan Cheng's avatar
      Cosmetic changes. · 74a24b26
      Evan Cheng authored
      llvm-svn: 60771
      74a24b26
    • Dan Gohman's avatar
      Whitespace cleanups. · 7d329740
      Dan Gohman authored
      llvm-svn: 60769
      7d329740
    • Mon P Wang's avatar
      In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting · 8a536633
      Mon P Wang authored
      one of its operand.
      
      llvm-svn: 60749
      8a536633
    • Mon P Wang's avatar
      Fix getNode to allow a vector for the shift amount for shifts of vectors. · 4dd832d2
      Mon P Wang authored
      Fix the shift amount when unrolling a vector shift into scalar shifts.
      Fix problem in getShuffleScalarElt where it assumes that the input of
      a bit convert must be a vector.
      
      llvm-svn: 60740
      4dd832d2
    • Dan Gohman's avatar
      Don't charge full latency for an anti-dependence, in this simplistic · 37c49697
      Dan Gohman authored
      pipeline model.
      
      llvm-svn: 60733
      37c49697
  2. Dec 08, 2008
  3. Dec 07, 2008
  4. Dec 05, 2008
  5. Dec 04, 2008
  6. Dec 03, 2008
  7. Dec 02, 2008
Loading