Skip to content
  1. Oct 09, 2006
  2. Oct 06, 2006
  3. Oct 05, 2006
  4. Oct 04, 2006
  5. Sep 14, 2006
  6. Sep 12, 2006
  7. Sep 08, 2006
  8. Sep 06, 2006
  9. Sep 05, 2006
  10. Sep 04, 2006
    • Chris Lattner's avatar
      Completely rearchitect the interface between targets and the pass manager. · 12e97307
      Chris Lattner authored
      This pass:
      
      1. Splits TargetMachine into TargetMachine (generic targets, can be implemented
      any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by
      things using libcodegen and other support).
      2. Instead of having each target fully populate the passmgr for file or JIT
         output, move all this to common code, and give targets hooks they can
         implement.
      3. Commonalize the target population stuff between file emission and JIT
         emission.
      4. All (native code) codegen stuff now happens in a FunctionPassManager, which
         paves the way for "fast -O0" stuff in the CFE later, and now LLC could
         lazily stream .bc files from disk to use less memory.
      5. There are now many fewer #includes and the targets don't depend on the
         scalar xforms or libanalysis anymore (but codegen does).
      6. Changing common code generator pass ordering stuff no longer requires
         touching all targets.
      7. The JIT now has the option of "-fast" codegen or normal optimized codegen,
         which is now orthogonal to the fact that JIT'ing is being done.
      
      llvm-svn: 30081
      12e97307
  11. Sep 03, 2006
  12. Sep 02, 2006
  13. Aug 26, 2006
  14. Aug 18, 2006
  15. Aug 16, 2006
  16. Aug 11, 2006
  17. Aug 08, 2006
    • Chris Lattner's avatar
      Start eliminating temporary vectors used to create DAG nodes. Instead, pass · c24a1d30
      Chris Lattner authored
      in the start of an array and a count of operands where applicable.  In many
      cases, the number of operands is known, so this static array can be allocated
      on the stack, avoiding the heap.  In many other cases, a SmallVector can be
      used, which has the same benefit in the common cases.
      
      I updated a lot of code calling getNode that takes a vector, but ran out of
      time.  The rest of the code should be updated, and these methods should be
      removed.
      
      We should also do the same thing to eliminate the methods that take a
      vector of MVT::ValueTypes.
      
      It would be extra nice to convert the dagiselemitter to avoid creating vectors
      for operands when calling getTargetNode.
      
      llvm-svn: 29566
      c24a1d30
    • Evan Cheng's avatar
      Match tablegen isel changes. · b9d34bd0
      Evan Cheng authored
      llvm-svn: 29549
      b9d34bd0
  18. Jul 28, 2006
  19. Jun 16, 2006
  20. Jun 15, 2006
  21. May 27, 2006
  22. May 26, 2006
  23. May 25, 2006
  24. May 24, 2006
  25. May 20, 2006
  26. May 18, 2006
  27. May 17, 2006
  28. May 12, 2006
  29. May 09, 2006
Loading