Skip to content
  1. Sep 22, 2008
  2. Sep 21, 2008
  3. Sep 20, 2008
  4. Sep 19, 2008
  5. Sep 18, 2008
    • Dan Gohman's avatar
      Don't consider instructions with implicit physical register · f3d647e0
      Dan Gohman authored
      defs to be necessarily live.
      
      llvm-svn: 56310
      f3d647e0
    • Dan Gohman's avatar
      Add a new "fast" scheduler. This is currently basically just a · 95be7d7b
      Dan Gohman authored
      copy of the BURRList scheduler, but with several parts ripped
      out, such as backtracking, online topological sort maintenance
      (needed by backtracking), the priority queue, and Sethi-Ullman
      number computation and maintenance (needed by the priority
      queue). As a result of all this, it generates somewhat lower
      quality code, but that's its tradeoff for running about 30%
      faster than list-burr in -fast mode in many cases.
      
      This is somewhat experimental. Moving forward, major pieces of
      this can be refactored with pieces in common with
      ScheduleDAGRRList.cpp.
      
      llvm-svn: 56307
      95be7d7b
  6. Sep 17, 2008
  7. Sep 16, 2008
  8. Sep 15, 2008
  9. Sep 14, 2008
  10. Sep 13, 2008
    • Dan Gohman's avatar
      Remove isImm(), isReg(), and friends, in favor of · 38453eeb
      Dan Gohman authored
      isImmediate(), isRegister(), and friends, to avoid confusion
      about having two different names with the same meaning. I'm
      not attached to the longer names, and would be ok with
      changing to the shorter names if others prefer it.
      
      llvm-svn: 56189
      38453eeb
    • Dan Gohman's avatar
      Define CallSDNode, an SDNode subclass for use with ISD::CALL. · d3fe174c
      Dan Gohman authored
      Currently it just holds the calling convention and flags
      for isVarArgs and isTailCall.
      
      And it has several utility methods, which eliminate magic
      5+2*i and similar index computations in several places.
      
      CallSDNodes are not CSE'd. Teach UpdateNodeOperands to handle
      nodes that are not CSE'd gracefully.
      
      llvm-svn: 56183
      d3fe174c
  11. Sep 12, 2008
    • Evan Cheng's avatar
      On some targets, non-move instructions can become move instructions because of coalescing. e.g. · 3c12fc43
      Evan Cheng authored
      vr2 = OR vr0, vr1
      =>
      vr2 = OR vr1, vr1   // after coalescing vr0 with vr1
      
      Update the value# of the destination register with the copy instruction if that happens.
      
      llvm-svn: 56165
      3c12fc43
    • Dan Gohman's avatar
      Change ConstantSDNode and ConstantFPSDNode to use ConstantInt* and · ec270fb6
      Dan Gohman authored
      ConstantFP* instead of APInt and APFloat directly.
      
      This reduces the amount of time to create ConstantSDNode
      and ConstantFPSDNode nodes when ConstantInt* and ConstantFP*
      respectively are already available, as is the case in
      SelectionDAGBuild.cpp. Also, it reduces the amount of time
      to legalize constants into constant pools, and the amount of
      time to add ConstantFP operands to MachineInstrs, due to
      eliminating ConstantInt::get and ConstantFP::get calls.
      
      It increases the amount of work needed to create new constants
      in cases where the client doesn't already have a ConstantInt*
      or ConstantFP*, such as legalize expanding 64-bit integer constants
      to 32-bit constants. And it adds a layer of indirection for the
      accessor methods. But these appear to be outweight by the benefits
      in most cases.
      
      It will also make it easier to make ConstantSDNode and
      ConstantFPNode more consistent with ConstantInt and ConstantFP.
      
      llvm-svn: 56162
      ec270fb6
    • Dale Johannesen's avatar
      Pass "earlyclobber" bit through to machine · 1f3ab868
      Dale Johannesen authored
      representation; coalescer and RA need to know
      about it.  No functional change.
      
      llvm-svn: 56161
      1f3ab868
    • Dan Gohman's avatar
      Rename ConstantSDNode::getValue to getZExtValue, for consistency · effb8944
      Dan Gohman authored
      with ConstantInt. This led to fixing a bug in TargetLowering.cpp
      using getValue instead of getAPIntValue.
      
      llvm-svn: 56159
      effb8944
    • Dale Johannesen's avatar
      The sequence for ppcf128 compares was not IEEE · baf6762e
      Dale Johannesen authored
      safe in the presence of NaNs.
      
      llvm-svn: 56136
      baf6762e
Loading