llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <emitter/x86/x86emitter.h>
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. | |
![]() | |
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. | |
ISel * | CreateISelPass (const Prog &prog, llvm::CodeGenOpt::Level opt) override |
Creates the LLIR-to-SelectionDAG pass. | |
AnnotPrinter * | CreateAnnotPass (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 | |
![]() | |
Target & | target_ |
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. | |
Direct X86 emitter.