rust/src/librustc_codegen_llvm
Nicholas Nethercote faf5eac854 Move metadata encoding earlier.
This commit separates metadata encoding (`tcx.encode_metadata`) from the
creation of the metadata module (which is now handled by
`write_compressed_metadata`, formerly `write_metadata`).

The metadata encoding now occurs slightly earlier in the pipeline, at
the very start of code generation within `start_codegen`.

Metadata *writing* still occurs near the end of compilation; that will
be moved forward in subsequent commits.
2019-04-30 14:55:10 +10:00
..
back Remove cg_llvm/back/link.rs 2019-04-20 13:21:40 +02:00
debuginfo Update handling of Tuple 2019-04-26 21:09:32 +01:00
llvm Remove the unused LLVMRustIsRustLLVM 2019-04-18 15:28:18 -07:00
abi.rs Update handling of Tuple 2019-04-26 21:09:32 +01:00
allocator.rs librustc_codegen_llvm: deny(elided_lifetimes_in_paths) 2019-02-25 08:40:18 +01:00
asm.rs Remove inline_asm_call from cg_ssa 2019-03-29 17:17:13 +01:00
attributes.rs Clean up handling of -Zpgo-gen commandline option. 2019-04-11 14:50:32 +02:00
base.rs Move metadata encoding earlier. 2019-04-30 14:55:10 +10:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
builder.rs Use ExactSizeIterator + TrustedLen instead of num_cases arg for switch 2019-03-29 17:23:52 +01:00
callee.rs Use non_erasable_generics for codegen 2019-03-05 22:07:37 +00:00
Cargo.toml librustc_codegen_llvm => 2018 2019-02-18 03:58:58 +09:00
common.rs Change return type of TyCtxt::is_static to bool 2019-04-21 14:41:51 +03:00
consts.rs HirIdification: replace NodeId method calls 2019-03-07 09:22:43 +01:00
context.rs Remove redundant imports 2019-03-30 22:37:02 +01:00
declare.rs librustc_codegen_llvm => 2018 2019-02-18 03:58:58 +09:00
error_codes.rs Rename diagnostics to error_codes 2019-04-17 18:19:14 +09:00
intrinsic.rs rustc: tie the 'tcx between Print and PrintCx in ty::print. 2019-03-15 09:26:13 +02:00
lib.rs Move metadata encoding earlier. 2019-04-30 14:55:10 +10:00
llvm_util.rs Add f16c target_feature 2019-04-23 08:43:13 +02:00
metadata.rs Move some filename constants to cg_ssa 2019-04-20 13:21:40 +02:00
mono_item.rs Support defining C compatible variadic functions 2019-02-27 10:21:35 -05:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
type_.rs Remove type_variadic_func and typ_array from cg_ssa 2019-03-29 17:17:13 +01:00
type_of.rs Add discr_index to multi-variant layouts 2019-04-11 17:44:43 -07:00
va_arg.rs Remove double trailing newlines 2019-04-22 16:57:01 +01:00
value.rs librustc_codegen_llvm: deny(elided_lifetimes_in_paths) 2019-02-25 08:40:18 +01:00

The codegen crate contains the code to convert from MIR into LLVM IR, and then from LLVM IR into machine code. In general it contains code that runs towards the end of the compilation process.

For more information about how codegen works, see the rustc guide.