rust/src/librustc_codegen_llvm
Pietro Albini ab5e45ae6b
Rollup merge of #56075 - alexcrichton:wasm-producer-section, r=estebank
Encode a custom "producers" section in wasm files

This commit implements WebAssembly/tool-conventions#65 for wasm files
produced by the Rust compiler. This adds a bit of metadata to wasm
modules to indicate that the file's language includes Rust and the
file's "processed-by" tools includes rustc.

The thinking with this section is to eventually have telemetry in
browsers tracking all this.
2018-11-25 17:05:01 +01:00
..
back Rollup merge of #56075 - alexcrichton:wasm-producer-section, r=estebank 2018-11-25 17:05:01 +01:00
debuginfo Introduce TyKind::Placeholder variant 2018-11-24 01:24:40 +01:00
llvm Beginning of moving all backend-agnostic code to rustc_codegen_ssa 2018-11-16 14:55:42 +02:00
abi.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
allocator.rs codegen_llvm: improve allocations 2018-10-08 16:55:04 +02:00
asm.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
attributes.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
base.rs [eddyb] rustc_codegen_llvm: remove unused parametrization of CodegenCx and Builder over Values. 2018-11-16 15:08:18 +02:00
build.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
builder.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
callee.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
Cargo.toml Add rustc_codegen_ssa to sysroot 2018-11-22 20:20:23 +01:00
common.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
consts.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
context.rs [eddyb] rustc_codegen_llvm: remove unused parametrization of CodegenCx and Builder over Values. 2018-11-16 15:08:18 +02:00
declare.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
diagnostics.rs Great separation of librustc_codegen_llvm: librustc_codegen_ssa compiles 2018-11-16 15:07:24 +02:00
intrinsic.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
lib.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
llvm_util.rs fix various typos in doc comments 2018-11-13 14:45:31 -05:00
metadata.rs codegen_llvm: whitespace & formatting improvements 2018-10-08 16:52:34 +02:00
mono_item.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
README.md Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
type_.rs [eddyb] rustc_codegen_ssa: rename interfaces to traits. 2018-11-16 15:08:18 +02:00
type_of.rs rustc_target: avoid using AbiAndPrefAlign where possible. 2018-11-22 05:01:49 +02:00
value.rs Removed genericity over Value in various functions 2018-11-16 14:11:34 +02: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.