Direct Object Code Emission

From LLVM

Jump to: navigation, search

Contents

[edit] Project Team

This project is being actively worked on by the following people:

[edit] Interested Parties

People with a 'vested' interest in this sub project:

  • (please add yourself !)

[edit] Project Tasks

Description Milestone Status Assignment
Implement initial ObjectCodeEmitter 1 Prototype ang
Implement initial BinaryObject 1 Prototype ang, bcl
Implement base ObjectModule 1 Delayed ang
Implement base ObjectModuleGenerator 1 Delayed ang
Integrate existing ELFWriter and ELFCodeEmitter with BinaryObject 4 Done bcl
Integrate existing ELFWriter and ELFCodeEmitter with ObjectCodeEmitter 4 Active bcl
Integrate existing MachOWriter and MachOCodeEmitter with ObjectCodeEmitter 4 Done ang
Integrate existing MachOWriter and MachOCodeEmitter with BinaryObject 4 To be done ang
Prototype COFFWriter and COFFCodeEmitter 4 Active ang
Implement ELFModuleGenerator bcl, jsg
Implement COFFModuleGenerator ang, jsg
Implement MachOModuleGenerator jsg
Implement ObjectModuleBase ang,jsg
Implement ELFObjectModule ang,jsg
Implement COFFObjectModule ang
Implement MachOObjectModule jsg
Implement ObjectModuleWriter ang, jsg
Implement ELFModuleWriter bcl, jsg
Implement COFFModuleWriter ang, jsg
Implement MachOModuleWriter jsg
Implement base ABIInfo jsg
Implement COFF ABIInfo (targeting 32bit little-endian X86 COFF)
Implement ELF ABIInfo (targeting 32bit little-endian X86 linux ELF)
Implement MachO ABIInfo (targeting 32bit little-endian X86 mac) jsg
Refactor class TargetAsmInfo into TargetInfo and TargetAsmInfo
Implement base ObjectModuleReader ang
Implement ELFModuleReader jsg,ang
Implement COFFModuleReader ang
Implement MachOModuleReader jsg
Write ObjectModule circular file test set ang
Write Object Module Dumpers ang
Implement llvm-gcc support ang
Implement Dwarf style EH
Implement Dwarf debug info bcl
Implement COFF debug info ang
Implement MachO debug info jsg
Implement GC
Update X86CodeEmitter to use our new scheme 2 Active ang
Update PPCCodeEmitter to use our new scheme 2 Active ang
Update ARMCodeEmitter to use our new scheme 2 Active ang
Update AlphaCodeEmitter to use our new scheme 2 Active ang
Test X86 COFF emission ang, jsg
Test X86 ELF emission bcl, jsg, ang
Test X86 MachO emission jsg, ang
Update PPCCodeEmitter to support relocation properly ang / jsg
Implement MachO ABIInfo (targeting 32bit big-endian PPC mac) jsg
Test MachO PPC emission ang, jsg
Implement JITCodeEmitter 3 Done ang
Test JITCodeEmitter 3 Done ang
Optimize JITCodeEmitter Active ang
Inline assembly

[edit] Project Timeline

Milestone Name Status Comments
1 Basic infrastructure Underway Implement the basic infrastructure, including an initial ObjectCodeEmitter, ObjectModule, ABIInfo, and ObjectModuleGenerator
2 Basic infrastructure Active ARM, Alpha, PowerPC and X86 CodeEmitter code emitter abstraction
3 Basic infrastructure Done and Applied JITCodeEmitter class and ARM, Alpha, PowerPC and X86 CodeEmitter support
4 Basic infrastructure Active ObjectCodeEmitter class and ARM, Alpha, PowerPC and X86 CodeEmitter support

[edit] Patches

JITCodeEmitter class and implementation patch file list and documentation - Applied with mods to formatting and generic parameter naming

ObjectCodeEmitter and Code Emitter patch file list and documentation

Reworked MachO code File reorganization and minor refactoring

MachO File reorganization and minor refactoring patch

[edit] Prototype DOE ObjectCodeEmitter

MachO DOE patch file list and patch documentation

MachO PowerPC tests This is the llvm/test/CodeGen/PowerPC test set adapted for the MachO backend. Its probably not a very good test set but all I could muster initially.

[edit] Diagrams

[edit] Project Notes

Personal tools