Skip to main content

Module llvm_backend

Module llvm_backend 

Source
Expand description

Module containing LlvmCodegenBackend, which implements CodegenBackend and related traits for the LLVM codegen backend.

Re-exportsยง

use std::any::Any; ๐Ÿ”’
use std::cell::OnceCell; ๐Ÿ”’
use std::ffi::CStr; ๐Ÿ”’
use std::marker::PhantomData; ๐Ÿ”’
use std::mem::ManuallyDrop; ๐Ÿ”’
use std::path::PathBuf; ๐Ÿ”’
use std::ptr; ๐Ÿ”’
use rustc_ast::expand::allocator::AllocatorMethod; ๐Ÿ”’
use rustc_codegen_ssa::back::lto::ThinModule; ๐Ÿ”’
use rustc_codegen_ssa::back::write::CodegenContext; ๐Ÿ”’
use rustc_codegen_ssa::back::write::FatLtoInput; ๐Ÿ”’
use rustc_codegen_ssa::back::write::ModuleConfig; ๐Ÿ”’
use rustc_codegen_ssa::back::write::SharedEmitter; ๐Ÿ”’
use rustc_codegen_ssa::back::write::TargetMachineFactoryConfig; ๐Ÿ”’
use rustc_codegen_ssa::back::write::TargetMachineFactoryFn; ๐Ÿ”’
use rustc_codegen_ssa::back::write::ThinLtoInput; ๐Ÿ”’
use rustc_codegen_ssa::traits::CodegenBackend; ๐Ÿ”’
use rustc_codegen_ssa::traits::ExtraBackendMethods; ๐Ÿ”’
use rustc_codegen_ssa::traits::WriteBackendMethods; ๐Ÿ”’
use rustc_codegen_ssa::CompiledModule; ๐Ÿ”’
use rustc_codegen_ssa::CompiledModules; ๐Ÿ”’
use rustc_codegen_ssa::CrateInfo; ๐Ÿ”’
use rustc_codegen_ssa::ModuleCodegen; ๐Ÿ”’
use rustc_codegen_ssa::TargetConfig; ๐Ÿ”’
use rustc_data_structures::profiling::SelfProfilerRef; ๐Ÿ”’
use rustc_errors::DiagCtxt; ๐Ÿ”’
use rustc_errors::DiagCtxtHandle; ๐Ÿ”’
use rustc_metadata::EncodedMetadata; ๐Ÿ”’
use rustc_middle::dep_graph::WorkProduct; ๐Ÿ”’
use rustc_middle::dep_graph::WorkProductMap; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_session::config::OptLevel; ๐Ÿ”’
use rustc_session::config::OutputFilenames; ๐Ÿ”’
use rustc_session::config::PrintKind; ๐Ÿ”’
use rustc_session::config::PrintRequest; ๐Ÿ”’
use rustc_session::BorrowedIncrCompSession; ๐Ÿ”’
use rustc_session::CodegenBackendInit; ๐Ÿ”’
use rustc_session::EarlySession; ๐Ÿ”’
use rustc_session::IncrCompSession; ๐Ÿ”’
use rustc_session::Session; ๐Ÿ”’
use rustc_span::Symbol; ๐Ÿ”’
use rustc_span::sym; ๐Ÿ”’
use rustc_target::spec::RelocModel; ๐Ÿ”’
use rustc_target::spec::TlsModel; ๐Ÿ”’
use crate::back::owned_target_machine::OwnedTargetMachine; ๐Ÿ”’
use crate::back::write::create_informational_target_machine; ๐Ÿ”’
use crate::back::write::create_target_machine; ๐Ÿ”’
use crate::context; ๐Ÿ”’
use crate::context::SimpleCx; ๐Ÿ”’
use crate::llvm; ๐Ÿ”’
use crate::llvm::ToLlvmBool; ๐Ÿ”’
use crate::llvm_util; ๐Ÿ”’
use crate::llvm_util::target_config; ๐Ÿ”’
use crate::allocator; ๐Ÿ”’
use crate::back; ๐Ÿ”’
use crate::base; ๐Ÿ”’

Structsยง

LlvmCodegenBackend
ModuleLlvm
ModuleRefs ๐Ÿ”’
Bundle of references provided by ModuleLlvm::with_module_refs.
TimeTraceProfiler ๐Ÿ”’

Functionsยง

create_context_and_set_fewer_names ๐Ÿ”’
Shared helper to call llvm::LLVMContextCreate and then configure llvm::LLVMContextSetDiscardValueNames.