rust/src/librustc_codegen_llvm
bors 4ecf12bf0e Auto merge of #51063 - mixi:musl-bootstrap, r=alexcrichton
Fix building rustc on and for musl hosts.

This fixes all problems I had when trying to compile rustc on a musl-based distribution (with `crt-static = false` in `config.toml`).

This is a fixed version of what ended up being #50105, making it possible to compile rustc on musl targets.

The differences to the old (now merged and subsequently reverted) pull request are:
 - The commit (6d9154a830) that caused the regression for which the original commits were reverted in #50709 is left out. This means the corresponding bug #36710 is still not fixed with `+crt-static`.
 - The test for issue 36710 is skipped for musl targets (until the issue is properly fixed).
 - Building cargo-vendor if `crt-static = false` is needed was broken (cargo-vendor links to some shared libraries if they exist on the system and this produces broken binaries with `+crt-static`)

CC @alexcrichton
2018-06-02 15:26:26 +00:00
..
back musl: don't use the included startfiles with -crt-static 2018-05-31 12:01:50 +02:00
debuginfo rustc: turn mir::LocalDecl's visibility_source_info into a SourceScope. 2018-05-30 20:30:10 +03:00
mir rustc: rename mir::LocalDecl's syntactic_source_info to source_info. 2018-05-30 20:30:10 +03:00
abi.rs Add constant for Size::from_bytes(0) 2018-05-24 20:46:07 +02:00
allocator.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
asm.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
attributes.rs std: Ensure OOM is classified as nounwind 2018-05-24 12:03:05 -07:00
base.rs Don't ICE if crate has no valid crate types left 2018-05-24 17:05:16 +02:00
build.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
builder.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
callee.rs std: Ensure OOM is classified as nounwind 2018-05-24 12:03:05 -07:00
Cargo.toml Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
common.rs stop invoking DebruijnIndex::new directly 2018-05-28 19:47:04 -04:00
consts.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
context.rs add simd float intrinsics and gather/scatter 2018-05-24 16:04:39 +02:00
declare.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
diagnostics.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
glue.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
intrinsic.rs refactor 2018-05-24 16:04:39 +02:00
lib.rs Stabilise inclusive_range_methods 2018-05-17 20:58:28 +01:00
llvm_util.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
metadata.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
meth.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
mono_item.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
README.md Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
time_graph.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
type_.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
type_of.rs Replace ScalarKind with Primitive 2018-05-24 20:49:37 +02:00
value.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +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.