[][src]Module rustc_codegen_llvm::base

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Codegen the completed AST to the LLVM IR.

Some functions here, such as codegen_block and codegen_expr, return a value -- the result of the codegen to LLVM -- while others, such as codegen_fn and mono_item, are called only for the side effect of adding a particular definition to the LLVM IR output we're producing.

Hopefully useful general knowledge about codegen:

Modules

temp_stable_hash_impls [
Experimental
]

Structs

StatRecorder [
Experimental
]
ValueIter [
Experimental
]

Enums

CguReUsable [
Experimental
]

Functions

assert_and_save_dep_graph [
Experimental
]
bin_op_to_fcmp_predicate [
Experimental
]
bin_op_to_icmp_predicate [
Experimental
]
call_assume [
Experimental
]
call_memcpy [
Experimental
]
call_memset [
Experimental
]
cast_shift_expr_rhs [
Experimental
]
cast_shift_rhs [
Experimental
]
codegen_crate [
Experimental
]
codegen_instance [
Experimental
]
coerce_unsized_into [
Experimental
]

Coerce src, which is a reference to a value of type src_ty, to a value of type dst_ty and store the result in dst

collect_and_partition_mono_items [
Experimental
]
compare_simd_types [
Experimental
]
compile_codegen_unit [
Experimental
]
determine_cgu_reuse [
Experimental
]
from_immediate [
Experimental
]
is_codegened_item [
Experimental
]
iter_globals [
Experimental
]
linkage_to_llvm [
Experimental
]
maybe_create_entry_wrapper [
Experimental
]

Create the main function which will initialize the rust runtime and call users main function.

memcpy_ty [
Experimental
]
provide [
Experimental
]
provide_extern [
Experimental
]
set_link_section [
Experimental
]
to_immediate [
Experimental
]
to_immediate_scalar [
Experimental
]
unsize_thin_ptr [
Experimental
]

Coerce src to dst_ty. src_ty must be a thin pointer.

unsized_info [
Experimental
]

Retrieve the information we are losing (making dynamic) in an unsizing adjustment.

visibility_to_llvm [
Experimental
]
wants_msvc_seh [
Experimental
]

Returns whether this session's target will use SEH-based unwinding.

write_metadata [
Experimental
]