rust/src/librustc_codegen_llvm
Mazdak Farrokhzad d7d7c2fce2
Rollup merge of #64824 - Mark-Simulacrum:no-stable-hasher-result-everywhere, r=michaelwoerister
No StableHasherResult everywhere

This removes the generic parameter on `StableHasher`, instead moving it to the call to `finish`. This has the side-effect of making all `HashStable` impls nicer, since we no longer need the verbose `<W: StableHasherResult>` that previously existed -- often forcing line wrapping.

This is done for two reasons:
 * we should avoid false "generic" dependency on the result of StableHasher
     * we don't need to codegen two/three copies of all the HashStable impls when they're transitively used to produce a fingerprint, u64, or u128. I haven't measured, but this might actually make our artifacts somewhat smaller too.
 * Easier to understand/read/write code -- the result of the stable hasher is irrelevant when writing a hash impl.
2019-09-29 04:36:02 +02:00
..
back Use Symbol in Linker. 2019-09-11 11:31:38 +10:00
debuginfo Switch over all StableHash impls to new format 2019-09-28 11:47:36 -04:00
llvm rustc_codegen_llvm: give names to non-alloca variable values. 2019-09-06 16:57:20 +03:00
abi.rs rustc: rely on c_variadic == true instead of CVarArgs in HIR/Ty fn signatures. 2019-09-28 17:39:00 +03:00
allocator.rs Merge rustc_allocator into libsyntax_ext 2019-07-24 12:27:58 +03:00
asm.rs Remove SyntaxContext from {ast, hir}::{GlobalAsm, InlineAsm} 2019-08-17 09:12:32 +01:00
attributes.rs Translate target features for LLVM 9 2019-07-09 21:55:29 +02:00
base.rs Remove tx_to_llvm_workers from TyCtxt 2019-09-25 16:57:27 -04:00
build.rs Remove licenses 2018-12-25 21:08:33 -07:00
builder.rs Rename some _sty variables to _kind 2019-09-26 12:10:43 +01:00
callee.rs Remove LocalInternedString uses from librustc/ty/. 2019-09-04 14:23:30 +10:00
Cargo.toml Remove codegen dependencies 2019-09-05 12:35:18 -04:00
common.rs Rollup merge of #64003 - Dante-Broggi:place-align-in-layout, r=matthewjasper 2019-09-05 12:11:08 +02:00
consts.rs Rename ForeignItem.node to ForeignItem.kind 2019-09-26 18:21:48 +01:00
context.rs Remove LocalInternedString uses from librustc_codegen_llvm. 2019-09-04 14:23:45 +10:00
declare.rs Pass type to byval attributes 2019-07-09 21:55:29 +02:00
error_codes.rs Replace diagnostic plugins with macro_rules 2019-09-05 12:35:15 -04:00
intrinsic.rs Rename sty to kind 2019-09-25 15:50:04 +01:00
lib.rs Remove tx_to_llvm_workers from TyCtxt 2019-09-25 16:57:27 -04:00
llvm_util.rs add support for hexagon-unknown-linux-musl 2019-07-22 09:44:58 -05:00
metadata.rs format a bit 2019-07-07 09:32:36 +02:00
mono_item.rs remove reexport of rustc::ty::Instance 2019-06-02 22:32:42 -05:00
README.md rustc-guide has moved 2018-11-26 15:03:13 -06:00
type_.rs Remove lint annotations in specific crates that are already enforced by rustbuild 2019-07-28 18:46:24 +03:00
type_of.rs Rename sty to kind 2019-09-25 15:50:04 +01:00
va_arg.rs Expose VaListImpl as the Rust equivalent of __va_list_tag and implement Clone for it. 2019-06-17 16:04:49 -07: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.