Skip to content
  1. Sep 11, 2008
  2. Sep 09, 2008
    • Dale Johannesen's avatar
      Fix logic for not emitting no-dead-strip for some · f0802254
      Dale Johannesen authored
      objects in llvm.used (thanks Anton).  Makes visible
      the magic 'l' prefix for symbols on Darwin which are
      to be passed through the assembler, then removed at
      linktime (previously all references to this had been
      hidden in the ObjC FE code, oh well).
      
      llvm-svn: 55973
      f0802254
  3. Sep 08, 2008
  4. Sep 04, 2008
  5. Sep 02, 2008
  6. Sep 01, 2008
  7. Aug 31, 2008
  8. Aug 29, 2008
  9. Aug 28, 2008
  10. Aug 27, 2008
  11. Aug 26, 2008
  12. Aug 24, 2008
    • Chris Lattner's avatar
      Switch the asmprinter (.ll) and all the stuff it requires over to · 0c19df48
      Chris Lattner authored
      use raw_ostream instead of std::ostream.  Among other goodness,
      this speeds up llvm-dis of kc++ with a release build from 0.85s
      to 0.49s (88% faster).
      
      Other interesting changes:
       1) This makes Value::print be non-virtual.
       2) AP[S]Int and ConstantRange can no longer print to ostream directly, 
          use raw_ostream instead.
       3) This fixes a bug in raw_os_ostream where it didn't flush itself 
          when destroyed.
       4) This adds a new SDNode::print method, instead of only allowing "dump".
      
      
      A lot of APIs have both std::ostream and raw_ostream versions, it would
      be useful to go through and systematically anihilate the std::ostream 
      versions.
      
      This passes dejagnu, but there may be minor fallout, plz let me know if
      so and I'll fix it.
      
      llvm-svn: 55263
      0c19df48
  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 21, 2008
  15. Aug 18, 2008
  16. Aug 17, 2008
  17. Aug 15, 2008
  18. Aug 12, 2008
  19. Aug 08, 2008
  20. Aug 07, 2008
  21. Jul 27, 2008
  22. Jul 25, 2008
  23. Jul 17, 2008
    • Dan Gohman's avatar
      Add a new function, ReplaceAllUsesOfValuesWith, which handles bulk · 17059681
      Dan Gohman authored
      replacement of multiple values. This is slightly more efficient
      than doing multiple ReplaceAllUsesOfValueWith calls, and theoretically
      could be optimized even further. However, an important property of this
      new function is that it handles the case where the source value set and
      destination value set overlap. This makes it feasible for isel to use
      SelectNodeTo in many very common cases, which is advantageous because
      SelectNodeTo avoids a temporary node and it doesn't require CSEMap
      updates for users of values that don't change position.
      
      Revamp MorphNodeTo, which is what does all the work of SelectNodeTo, to
      handle operand lists more efficiently, and to correctly handle a number
      of corner cases to which its new wider use exposes it.
      
      This commit also includes a change to the encoding of post-isel opcodes
      in SDNodes; now instead of being sandwiched between the target-independent
      pre-isel opcodes and the target-dependent pre-isel opcodes, post-isel
      opcodes are now represented as negative values. This makes it possible
      to test if an opcode is pre-isel or post-isel without having to know
      the size of the current target's post-isel instruction set.
      
      These changes speed up llc overall by 3% and reduce memory usage by 10%
      on the InstructionCombining.cpp testcase with -fast and -regalloc=local.
      
      llvm-svn: 53728
      17059681
  24. Jul 11, 2008
Loading