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

#include <emitter/x86/x86emitter.h>

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

Public Member Functions

 X86Emitter (const std::string &path, llvm::raw_fd_ostream &os, X86Target &target)
 Creates an x86 emitter.
 
 ~X86Emitter () override
 Destroys the x86 emitter.
 
- Public Member Functions inherited from Emitter
 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

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

Additional Inherited Members

- Protected Attributes inherited from Emitter
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

Direct X86 emitter.


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