[−][src]Module rustc_codegen_ssa::base

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:

Structs

AbortCodegenOnDrop

A curious wrapper structure whose only purpose is to call codegen_aborted when it's dropped abnormally.

Functions

bin_op_to_fcmp_predicate
bin_op_to_icmp_predicate
cast_shift_expr_rhs
cast_shift_rhs
codegen_crate
codegen_instance
coerce_unsized_into

Coerces src, which is a reference to a value of type src_ty, to a value of type dst_ty, and stores the result in dst.

compare_simd_types
determine_cgu_reuse
finalize_tcx
get_argc_argv

Obtain the argc and argv values to pass to the rust start function.

maybe_create_entry_wrapper

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

memcpy_ty
provide_both
unsize_thin_ptr

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

unsized_info

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

wants_msvc_seh

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