[LLVMbugs] [Bug 176] NEW: LLVM JIT needs to be cleaned up/refactored

bugzilla-daemon at zion.cs.uiuc.edu bugzilla-daemon at zion.cs.uiuc.edu
Thu Dec 11 22:57:56 PST 2003


http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=176

           Summary: LLVM JIT needs to be cleaned up/refactored
           Product: libraries
           Version: 1.0
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: Target-Independent JIT
        AssignedTo: gaeke+bugs at uiuc.edu
        ReportedBy: sabre at nondot.org


The LLVM JIT is sort-of clean, but has some code which has creeped into places
it really shouldn't be.  In particular, the following should be changed:

1. Instead of piling cruft into TargetMachine, there should be a TargetJITInfo
   class.  This class get provide the following target-specific methods which
   are required by the JIT and are currently in TargetMachine:
   addPassesToJITCompile, replaceMachineCodeForFunction, getJITStubForFunction.

   TargetMachine should then have a new getJITInfo() method which is
   implemented by targets with JIT support, but defaults to returning a null
   pointer.

2. lib/ExecutionEngine/JIT needs to be cleaned up.  In particular, VM.h needs
   to be renamed to JIT.h and VM.cpp needs to be folded into JIT.cpp.  There
   are other likely cleanups that could be performed, but those are the major
   ones that make working on the JIT more confusing than it should be.

3. MachineCodeEmitter::forceRecompilationOf needs to be moved somewhere else.
   I'm not sure exactly how the backend should call back into the JIT, but
   this is currently nothing more than a convenient hack.

-Chris



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list