Skip to content
  1. Jul 03, 2008
  2. Jul 02, 2008
  3. Jul 01, 2008
  4. Jun 30, 2008
    • Dan Gohman's avatar
      Use reserve. · a76e60a7
      Dan Gohman authored
      SelectionDAG::allnodes_size is linear, but that doesn't appear to
      outweigh the benefit of reducing heap traffic. If it does become a
      problem, we should teach SelectionDAG to keep a count of how many
      nodes are live, because there are several other places where that
      information would be useful as well.
      
      llvm-svn: 52926
      a76e60a7
    • Dan Gohman's avatar
      Rename ISD::LOCATION to ISD::DBG_STOPPOINT to better reflect its · 5c73a886
      Dan Gohman authored
      purpose, and give it a custom SDNode subclass so that it doesn't
      need to have line number, column number, filename string, and
      directory string, all existing as individual SDNodes to be the
      operands.
      
      This was the only user of ISD::STRING, StringSDNode, etc., so
      remove those and some associated code.
      
      This makes stop-points considerably easier to read in
      -view-legalize-dags output, and reduces overhead (creating new
      nodes and copying std::strings into them) on code containing
      debugging information.
      
      llvm-svn: 52924
      5c73a886
    • Evan Cheng's avatar
      Split scheduling from instruction selection. · 0711d68f
      Evan Cheng authored
      llvm-svn: 52923
      0711d68f
    • Dale Johannesen's avatar
      No need to align the stack if there are no stack · 659aeb61
      Dale Johannesen authored
      objects.  Fixes a couple of tests on Linux.
      
      llvm-svn: 52921
      659aeb61
    • Evan Cheng's avatar
      Remove unneeded include. · d206e2ac
      Evan Cheng authored
      llvm-svn: 52920
      d206e2ac
    • Dan Gohman's avatar
      Replace some std::vectors that showed up in heap profiling with · 31c8123d
      Dan Gohman authored
      SmallVectors. Change the signature of TargetLowering::LowerArguments
      to avoid returning a vector by value, and update the two targets
      which still use this directly, Sparc and IA64, accordingly.
      
      llvm-svn: 52917
      31c8123d
    • Dan Gohman's avatar
      Correct the allocation size for CCState's UsedRegs member, which · 328e26d0
      Dan Gohman authored
      only needs one bit for each register. UsedRegs is a SmallVector
      sized at 16, so this eliminates a heap allocation/free for every
      call and return processed by Legalize on most targets.
      
      llvm-svn: 52915
      328e26d0
    • Duncan Sands's avatar
      ExpungeNode is only needed for new nodes! This · 9e08148f
      Duncan Sands authored
      fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll
      when using the new LegalizeTypes infrastructure.
      
      llvm-svn: 52903
      9e08148f
    • Duncan Sands's avatar
      Support for VAARG. As noted in a comment, this is · 36410f6c
      Duncan Sands authored
      wrong for types like x86 long double and i1, but
      no worse than what is done in LegalizeDAG.
      
      llvm-svn: 52898
      36410f6c
    • Duncan Sands's avatar
      Support for promoting select_cc operands. · dd5354df
      Duncan Sands authored
      llvm-svn: 52895
      dd5354df
    • Duncan Sands's avatar
      Revert the SelectionDAG optimization that makes · 1ae6ef83
      Duncan Sands authored
      it impossible to create a MERGE_VALUES node with
      only one result: sometimes it is useful to be able
      to create a node with only one result out of one of
      the results of a node with more than one result, for
      example because the new node will eventually be used
      to replace a one-result node using ReplaceAllUsesWith,
      cf X86TargetLowering::ExpandFP_TO_SINT.  On the other
      hand, most users of MERGE_VALUES don't need this and
      for them the optimization was valuable.  So add a new
      utility method getMergeValues for creating MERGE_VALUES
      nodes which by default performs the optimization.
      Change almost everywhere to use getMergeValues (and
      tidy some stuff up at the same time).
      
      llvm-svn: 52893
      1ae6ef83
Loading