rust/src/librustc_codegen_llvm
Josh Stone 763e72110a rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5.
This hack was removed in #50949, but without it I found that building
`std` with full debuginfo would print many LLVM `DW_OP_LLVM_fragment`
errors, then die `LLVM ERROR: Failed to strip malformed debug info`.

It doesn't seem to be a problem for LLVM 6, so we can re-enable the hack
just for older LLVM.

This reverts commit da579ef75e.
Fixes #53204.
r? @eddyb
2018-08-09 16:35:25 -07:00
..
back Address review comments for #53031 and fix some merge fallout. 2018-08-08 13:40:23 +02:00
debuginfo Normalize DebugInfoLevel to standard style 2018-08-04 06:54:34 -06:00
llvm Auto merge of #51007 - AstralSorcerer:master, r=nagisa 2018-08-07 02:12:35 +00:00
mir rustc_codegen_llvm: Restore the closure env alloca hack for LLVM 5. 2018-08-09 16:35:25 -07:00
abi.rs rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03:00
allocator.rs rustc: Tweak visibility of some lang items 2018-08-07 08:42:38 -07:00
asm.rs rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03:00
attributes.rs Annotate functions in LLVM with target-cpu, same as Clang does. 2018-08-07 14:48:20 +02:00
base.rs Auto merge of #53031 - michaelwoerister:cross-lto, r=alexcrichton 2018-08-09 13:20:14 +00:00
build.rs Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
builder.rs rustc_codegen_llvm: fix ownership of Builder. 2018-07-30 20:35:11 +03:00
callee.rs Move share_generics getter onto options directly 2018-08-04 06:54:36 -06:00
Cargo.toml Building librustc_codegen_llvm in a separate directory 2018-08-06 07:00:34 -06:00
common.rs rustc_codegen_llvm: fix tidy errors. 2018-07-30 20:35:08 +03:00
consts.rs Fix issue around dllimport and ThinLTO as LLD runs it. 2018-08-07 14:44:48 +02:00
context.rs Annotate functions in LLVM with target-cpu, same as Clang does. 2018-08-07 14:48:20 +02:00
declare.rs Make globals with private linkage unnamed. Fixes #50862. 2018-07-31 23:45:18 -04:00
diagnostics.rs Add backticks to E0558 2018-06-24 00:16:10 +01:00
glue.rs rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03:00
intrinsic.rs Simplify some handling of target_pointer_width 2018-08-04 06:54:36 -06:00
lib.rs Remove unnecessary feature attributes that sneaked in 2018-08-05 15:54:49 +01:00
llvm_util.rs rustc_llvm: move to rustc_codegen_llvm::llvm. 2018-07-30 18:03:50 +03:00
metadata.rs rustc_codegen_llvm: use safe references for MemoryBuffer and ObjectFile. 2018-07-30 20:10:28 +03:00
meth.rs Make globals with private linkage unnamed. Fixes #50862. 2018-07-31 23:45:18 -04:00
mono_item.rs rustc: Use link_section, not wasm_custom_section 2018-07-16 09:40:45 -07:00
README.md Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
type_.rs rustc_codegen_llvm: use safe references for Metadata and DI*. 2018-07-30 19:27:13 +03:00
type_of.rs rustc_codegen_llvm: use safe references for Type. 2018-07-30 18:36:29 +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.