llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Emitter Class Referenceabstract

#include <emitter/emitter.h>

Inheritance diagram for Emitter:
Inheritance graph
[legend]
Collaboration diagram for Emitter:
Collaboration graph
[legend]

Public Member Functions

 Emitter (const std::string &path, llvm::raw_fd_ostream &os, Target &target)
 Creates an emitter.
 
virtual ~Emitter ()
 Destroys the emitter.
 
void EmitASM (const Prog &prog)
 Emits assembly for a program.
 
void EmitOBJ (const Prog &prog)
 Emits an object file for a program.
 

Protected Member Functions

virtual llvm::LLVMTargetMachine & GetTargetMachine ()=0
 Returns the generic target machine.
 
virtual ISelCreateISelPass (const Prog &prog, llvm::CodeGenOpt::Level opt)=0
 Creates the LLIR-to-SelectionDAG pass.
 
virtual AnnotPrinterCreateAnnotPass (llvm::MCContext &mcCtx, llvm::MCStreamer &mcStreamer, const llvm::TargetLoweringObjectFile &objInfo, ISel &isel)=0
 Creates the annotation generation pass.
 
virtual llvm::ModulePass * CreateRuntimePass (const Prog &prog, llvm::MCContext &mcCtx, llvm::MCStreamer &mcStreamer, const llvm::TargetLoweringObjectFile &objInfo)=0
 Creates the runtime generation pass.
 

Protected Attributes

Targettarget_
 Underlying target.
 
const std::string path_
 Path to the output file.
 
llvm::raw_fd_ostream & os_
 Output stream.
 
const std::string triple_
 Target triple.
 
bool shared_
 Flag to indicate if the target is a shared library.
 
llvm::LLVMContext context_
 LLVM Context.
 

Detailed Description

Generic emitter backend.


The documentation for this class was generated from the following files: