Rename run_lto_pass_manager to optimize_fat and remove thin parameter
This commit is contained in:
parent
76d4862fdd
commit
336bb0afea
3 changed files with 18 additions and 20 deletions
|
@ -229,6 +229,11 @@ impl WriteBackendMethods for GccCodegenBackend {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn optimize_fat(_cgcx: &CodegenContext<Self>, _module: &ModuleCodegen<Self::Module>, _config: &ModuleConfig) -> Result<(), FatalError> {
|
||||||
|
// TODO(antoyo)
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
unsafe fn optimize_thin(_cgcx: &CodegenContext<Self>, _thin: &mut ThinModule<Self>) -> Result<ModuleCodegen<Self::Module>, FatalError> {
|
unsafe fn optimize_thin(_cgcx: &CodegenContext<Self>, _thin: &mut ThinModule<Self>) -> Result<ModuleCodegen<Self::Module>, FatalError> {
|
||||||
unimplemented!();
|
unimplemented!();
|
||||||
}
|
}
|
||||||
|
@ -245,11 +250,6 @@ impl WriteBackendMethods for GccCodegenBackend {
|
||||||
unimplemented!();
|
unimplemented!();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run_lto_pass_manager(_cgcx: &CodegenContext<Self>, _module: &ModuleCodegen<Self::Module>, _config: &ModuleConfig, _thin: bool) -> Result<(), FatalError> {
|
|
||||||
// TODO(antoyo)
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
|
|
||||||
fn run_link(cgcx: &CodegenContext<Self>, diag_handler: &Handler, modules: Vec<ModuleCodegen<Self::Module>>) -> Result<ModuleCodegen<Self::Module>, FatalError> {
|
fn run_link(cgcx: &CodegenContext<Self>, diag_handler: &Handler, modules: Vec<ModuleCodegen<Self::Module>>) -> Result<ModuleCodegen<Self::Module>, FatalError> {
|
||||||
back::write::link(cgcx, diag_handler, modules)
|
back::write::link(cgcx, diag_handler, modules)
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,6 +210,14 @@ impl WriteBackendMethods for LlvmCodegenBackend {
|
||||||
) -> Result<(), FatalError> {
|
) -> Result<(), FatalError> {
|
||||||
back::write::optimize(cgcx, diag_handler, module, config)
|
back::write::optimize(cgcx, diag_handler, module, config)
|
||||||
}
|
}
|
||||||
|
fn optimize_fat(
|
||||||
|
cgcx: &CodegenContext<Self>,
|
||||||
|
module: &ModuleCodegen<Self::Module>,
|
||||||
|
config: &ModuleConfig,
|
||||||
|
) -> Result<(), FatalError> {
|
||||||
|
let diag_handler = cgcx.create_diag_handler();
|
||||||
|
back::lto::run_pass_manager(cgcx, &diag_handler, module, config, false)
|
||||||
|
}
|
||||||
unsafe fn optimize_thin(
|
unsafe fn optimize_thin(
|
||||||
cgcx: &CodegenContext<Self>,
|
cgcx: &CodegenContext<Self>,
|
||||||
thin: &mut ThinModule<Self>,
|
thin: &mut ThinModule<Self>,
|
||||||
|
@ -230,15 +238,6 @@ impl WriteBackendMethods for LlvmCodegenBackend {
|
||||||
fn serialize_module(module: ModuleCodegen<Self::Module>) -> (String, Self::ModuleBuffer) {
|
fn serialize_module(module: ModuleCodegen<Self::Module>) -> (String, Self::ModuleBuffer) {
|
||||||
(module.name, back::lto::ModuleBuffer::new(module.module_llvm.llmod()))
|
(module.name, back::lto::ModuleBuffer::new(module.module_llvm.llmod()))
|
||||||
}
|
}
|
||||||
fn run_lto_pass_manager(
|
|
||||||
cgcx: &CodegenContext<Self>,
|
|
||||||
module: &ModuleCodegen<Self::Module>,
|
|
||||||
config: &ModuleConfig,
|
|
||||||
thin: bool,
|
|
||||||
) -> Result<(), FatalError> {
|
|
||||||
let diag_handler = cgcx.create_diag_handler();
|
|
||||||
back::lto::run_pass_manager(cgcx, &diag_handler, module, config, thin)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe impl Send for LlvmCodegenBackend {} // Llvm is on a per-thread basis
|
unsafe impl Send for LlvmCodegenBackend {} // Llvm is on a per-thread basis
|
||||||
|
|
|
@ -41,6 +41,11 @@ pub trait WriteBackendMethods: 'static + Sized + Clone {
|
||||||
module: &ModuleCodegen<Self::Module>,
|
module: &ModuleCodegen<Self::Module>,
|
||||||
config: &ModuleConfig,
|
config: &ModuleConfig,
|
||||||
) -> Result<(), FatalError>;
|
) -> Result<(), FatalError>;
|
||||||
|
fn optimize_fat(
|
||||||
|
cgcx: &CodegenContext<Self>,
|
||||||
|
llmod: &ModuleCodegen<Self::Module>,
|
||||||
|
config: &ModuleConfig,
|
||||||
|
) -> Result<(), FatalError>;
|
||||||
unsafe fn optimize_thin(
|
unsafe fn optimize_thin(
|
||||||
cgcx: &CodegenContext<Self>,
|
cgcx: &CodegenContext<Self>,
|
||||||
thin: &mut ThinModule<Self>,
|
thin: &mut ThinModule<Self>,
|
||||||
|
@ -53,12 +58,6 @@ pub trait WriteBackendMethods: 'static + Sized + Clone {
|
||||||
) -> Result<CompiledModule, FatalError>;
|
) -> Result<CompiledModule, FatalError>;
|
||||||
fn prepare_thin(module: ModuleCodegen<Self::Module>) -> (String, Self::ThinBuffer);
|
fn prepare_thin(module: ModuleCodegen<Self::Module>) -> (String, Self::ThinBuffer);
|
||||||
fn serialize_module(module: ModuleCodegen<Self::Module>) -> (String, Self::ModuleBuffer);
|
fn serialize_module(module: ModuleCodegen<Self::Module>) -> (String, Self::ModuleBuffer);
|
||||||
fn run_lto_pass_manager(
|
|
||||||
cgcx: &CodegenContext<Self>,
|
|
||||||
llmod: &ModuleCodegen<Self::Module>,
|
|
||||||
config: &ModuleConfig,
|
|
||||||
thin: bool,
|
|
||||||
) -> Result<(), FatalError>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub trait ThinBufferMethods: Send + Sync {
|
pub trait ThinBufferMethods: Send + Sync {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue