rust/src/librustc_codegen_llvm
bors 7cbcdae818 Auto merge of #54693 - RalfJung:ctfe-scalar-pair-undef, r=oli-obk
do not normalize all non-scalar constants to a ConstValue::ScalarPair

We still need `ConstValue::ScalarPair` for match handling (matching slices and strings), but that will never see anything `Undef`. For non-fat-ptr `ScalarPair`, just point to the allocation like larger data structures do.

Fixes https://github.com/rust-lang/rust/issues/54387

r? @eddyb
2018-10-01 22:32:26 +00:00
..
back rust: Add a -C default-linker-libraries option 2018-09-29 11:03:59 -07:00
debuginfo use is_uninhabited in more places 2018-09-30 17:27:06 +02:00
llvm Auto merge of #54568 - levex:issue-54130, r=nagisa 2018-09-28 09:17:28 +00:00
mir Auto merge of #54693 - RalfJung:ctfe-scalar-pair-undef, r=oli-obk 2018-10-01 22:32:26 +00:00
abi.rs Remove Ty prefix from Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error} 2018-08-22 16:07:44 +01:00
allocator.rs rustc: Tweak visibility of some lang items 2018-08-07 08:42:38 -07:00
asm.rs codegen_llvm: check inline assembly constraints with LLVM 2018-09-25 20:38:35 +02:00
attributes.rs Rollup merge of #52514 - DiamondLovesYou:amdgpu-fixes, r=eddyb 2018-09-12 12:17:22 +08:00
base.rs incr.comp.: Allow for more fine-grained testing of CGU reuse and use it to test incremental ThinLTO. 2018-09-18 16:33:24 +02:00
build.rs
builder.rs fixup! codegen_llvm: check inline assembly constraints with LLVM 2018-09-26 06:43:19 +02:00
callee.rs AMDGPU ignores noinline when it slaps alwaysinline everywhere. 2018-08-23 14:30:57 -05:00
Cargo.toml Support local ThinLTO with incremental compilation. 2018-08-31 15:22:52 +02:00
common.rs Remove Ty prefix from Ty{Adt|Array|Slice|RawPtr|Ref|FnDef|FnPtr|Dynamic|Closure|Generator|GeneratorWitness|Never|Tuple|Projection|Anon|Infer|Error} 2018-08-22 16:07:44 +01:00
consts.rs Rename hir::map::NodeKind to hir::Node 2018-08-27 21:46:23 +01:00
context.rs Remove Ty prefix from Ty{Bool|Char|Int|Uint|Float|Str} 2018-08-22 16:08:49 +01:00
declare.rs use is_uninhabited in more places 2018-09-30 17:27:06 +02:00
diagnostics.rs fixup! codegen_llvm: check inline assembly constraints with LLVM 2018-09-26 10:19:09 +02:00
glue.rs Remove Ty prefix from Ty{Bool|Char|Int|Uint|Float|Str} 2018-08-22 16:08:49 +01:00
intrinsic.rs renamed mk_nil to mk_unit 2018-09-10 11:07:13 +09:00
lib.rs Bump to 1.31.0 and bootstrap from 1.30 beta 2018-09-27 20:52:53 -07:00
llvm_util.rs Auto merge of #53878 - alexcrichton:wasm-atomics-feature, r=eddyb 2018-09-05 13:19:19 +00:00
metadata.rs Move path2cstr to rustc_fs_util 2018-08-09 10:00:25 -06:00
meth.rs Make globals with private linkage unnamed. Fixes #50862. 2018-07-31 23:45:18 -04:00
mono_item.rs AMDGPU ignores noinline when it slaps alwaysinline everywhere. 2018-08-23 14:30:57 -05:00
README.md
type_.rs Introduce SmallCStr and use it where applicable. 2018-08-10 11:13:00 +02:00
type_of.rs Do not put noalias annotations by default 2018-09-29 13:00:41 +03:00
value.rs rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03: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.