rust/src/librustc_codegen_llvm
Alex Crichton 7c58ab671f rustc: Tweak visibility of some lang items
This commit tweaks the linker-level visibility of some lang items that rustc
uses and defines. Notably this means that `#[panic_implementation]` and
`#[alloc_error_handler]` functions are never marked as `internal`. It's up to
the linker to eliminate these, not rustc.

Additionally `#[global_allocator]` generated symbols are no longer forced to
`Default` visibility (fully exported), but rather they're relaxed to `Hidden`
visibility). This symbols are *not* needed across DLL boundaries, only as a
local implementation detail of the compiler-injected allocator symbols, so
`Hidden` should suffice.

Closes #51342
Closes #52795
2018-08-07 08:42:38 -07:00
..
back Auto merge of #51007 - AstralSorcerer:master, r=nagisa 2018-08-07 02:12:35 +00: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 Auto merge of #51007 - AstralSorcerer:master, r=nagisa 2018-08-07 02:12:35 +00: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 rustc_codegen_llvm: use safe references for Value. 2018-07-30 19:49:18 +03:00
base.rs rustc: Tweak visibility of some lang items 2018-08-07 08:42:38 -07: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 Make globals with private linkage unnamed. Fixes #50862. 2018-07-31 23:45:18 -04:00
context.rs Normalize DebugInfoLevel to standard style 2018-08-04 06:54:34 -06: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.