Skip to content
  1. Sep 15, 2008
  2. Sep 12, 2008
    • 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
    • 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
  3. Sep 11, 2008
  4. Sep 08, 2008
  5. Sep 07, 2008
  6. Sep 03, 2008
  7. Sep 02, 2008
  8. Aug 29, 2008
  9. Aug 28, 2008
  10. Aug 27, 2008
  11. Aug 26, 2008
  12. Aug 25, 2008
  13. Aug 23, 2008
    • Dan Gohman's avatar
      Move the point at which FastISel taps into the SelectionDAGISel · eb0cee91
      Dan Gohman authored
      process up to a higher level. This allows FastISel to leverage
      more of SelectionDAGISel's infastructure, such as updating Machine
      PHI nodes.
      
      Also, implement transitioning from SDISel back to FastISel in
      the middle of a block, so it's now possible to go back and
      forth. This allows FastISel to hand individual CallInsts and other
      complicated things off to SDISel to handle, while handling the rest
      of the block itself.
      
      To help support this, reorganize the SelectionDAG class so that it
      is allocated once and reused throughout a function, instead of
      being completely reallocated for each block.
      
      llvm-svn: 55219
      eb0cee91
  14. Aug 22, 2008
  15. Aug 21, 2008
  16. Aug 20, 2008
Loading