Skip to content
  1. Sep 03, 2009
  2. May 30, 2009
  3. Feb 18, 2009
    • Nate Begeman's avatar
      Add support to the JIT for true non-lazy operation. When a call to a function · 18d85e74
      Nate Begeman authored
      that has not been JIT'd yet, the callee is put on a list of pending functions
      to JIT.  The call is directed through a stub, which is updated with the address
      of the function after it has been JIT'd.  A new interface for allocating and
      updating empty stubs is provided.
      
      Add support for removing the ModuleProvider the JIT was created with, which
      would otherwise invalidate the JIT's PassManager, which is initialized with the
      ModuleProvider's Module.
      
      Add support under a new ExecutionEngine flag for emitting the infomration 
      necessary to update Function and GlobalVariable stubs after JITing them, by
      recording the address of the stub and the name of the GlobalValue.  This allows
      code to be copied from one address space to another, where libraries may live
      at different virtual addresses, and have the stubs updated with their new
      correct target addresses.
      
      llvm-svn: 64906
      18d85e74
  4. Dec 10, 2008
  5. Nov 10, 2008
  6. Nov 05, 2008
  7. Oct 25, 2008
  8. Apr 16, 2008
  9. Mar 25, 2008
  10. Jan 05, 2008
  11. Jan 04, 2008
  12. Dec 29, 2007
  13. Nov 15, 2006
  14. 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
  15. Jul 27, 2006
  16. Jul 25, 2006
  17. Mar 14, 2006
  18. Jul 30, 2005
  19. Jul 22, 2005
  20. Apr 22, 2005
  21. Nov 21, 2004
  22. Dec 28, 2003
  23. Dec 20, 2003
Loading