rust/src/librustc_trans
bors 2d7397230a Auto merge of #45031 - alexcrichton:nounwind, r=arielb1
rustc: Add LLVM `nounwind` with `-C panic=abort`

This informs LLVM that functions can't unwind, which while it should typically
have already been inferred when necessary or otherwise not impact codegen is
apparently needed on targets like ARM to avoid references to unnecessary
symbols.

Closes #44992
2017-10-13 06:32:10 +00:00
..
back Auto merge of #45111 - aidanhs:aphs-bubble-worker-failures, r=alexcrichton 2017-10-09 16:31:15 +00:00
debuginfo rustc: Move codegen to a query 2017-09-17 10:25:50 -07:00
mir style fixes as requested by @eddyb 2017-09-29 22:34:48 -04:00
abi.rs Auto merge of #45033 - eddyb:capture-me-not, r=nikomatsakis 2017-10-09 00:18:51 +00:00
adt.rs rustc: replace usize with u64 and ConstUsize. 2017-09-11 08:41:15 +03:00
allocator.rs rustc: Implement the #[global_allocator] attribute 2017-07-05 14:37:01 -07:00
asm.rs Expose LLVM appendModuleInlineAsm 2017-04-12 19:12:49 -05:00
assert_module_sources.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
attributes.rs std: Mark allocation functions as nounwind 2017-08-28 08:06:52 -07:00
base.rs Auto merge of #45035 - alexcrichton:no-empty, r=michaelwoerister 2017-10-09 02:42:30 +00:00
build.rs rustc: Add some build scripts for librustc crates 2017-07-22 22:04:13 -07:00
builder.rs rustc: Move codegen to a query 2017-09-17 10:25:50 -07:00
cabi_aarch64.rs Correct the spelling of "homogeneous" 2017-07-21 18:08:40 -07:00
cabi_arm.rs Support homogeneous aggregates for hard-float ARM 2017-07-27 20:40:24 -07:00
cabi_asmjs.rs Correct the spelling of "homogeneous" 2017-07-21 18:08:40 -07:00
cabi_hexagon.rs Add Hexagon support 2017-04-25 01:56:44 -04:00
cabi_mips.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_mips64.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_msp430.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_nvptx.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_nvptx64.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_powerpc.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_powerpc64.rs powerpc64: improve extern struct ABI 2017-09-01 18:21:29 -07:00
cabi_s390x.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_sparc.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
cabi_sparc64.rs Correct the spelling of "homogeneous" 2017-07-21 18:08:40 -07:00
cabi_x86.rs x86: return single-float aggregates in a float register 2017-09-01 18:21:29 -07:00
cabi_x86_64.rs rustc_trans: do not treat byval as using up registers. 2017-04-19 02:22:59 +03:00
cabi_x86_win64.rs rustc_trans: use ty::layout for ABI computation instead of LLVM types. 2017-04-09 16:06:56 +03:00
callee.rs rustc: Add LLVM nounwind with -C panic=abort 2017-10-11 09:05:38 -07:00
Cargo.toml Update to the cc crate 2017-09-28 07:45:50 -07:00
collector.rs rustc: Don't inline in CGUs at -O0 2017-10-07 19:09:46 -07:00
common.rs rustc_trans: Refactor collection to use tcx 2017-09-17 09:41:43 -07:00
consts.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
context.rs rustc: Enable LTO and multiple codegen units 2017-09-30 00:22:15 -07:00
declare.rs rustc: Add LLVM nounwind with -C panic=abort 2017-10-11 09:05:38 -07:00
diagnostics.rs rustc: Move some attr methods to queries 2017-09-17 09:41:43 -07:00
glue.rs rustc: Move codegen to a query 2017-09-17 10:25:50 -07:00
intrinsic.rs rustc: replace usize with u64 and ConstUsize. 2017-09-11 08:41:15 +03:00
lib.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
llvm_util.rs Add support for the Power8 and Power9 features on PowerPC 2017-07-27 13:30:51 +00:00
machine.rs rustc: replace usize with u64 and ConstUsize. 2017-09-11 08:41:15 +03:00
metadata.rs Thread through the original error when opening archives 2017-07-21 09:44:01 -07:00
meth.rs rustc_trans: Refactor collection to use tcx 2017-09-17 09:41:43 -07:00
monomorphize.rs Turn trans_fulfill_obligation into a query 2017-10-08 11:59:02 -04:00
partitioning.rs incr.comp.: Fix instability in CodegenUnitExt::items_in_deterministic_order(). 2017-10-10 17:11:08 +02:00
README.md rework the README.md for rustc and add other readmes 2017-09-19 09:00:59 -04:00
symbol_names_test.rs cache symbol names in ty::maps 2017-04-26 17:45:02 +03:00
time_graph.rs rustc: Implement ThinLTO 2017-10-07 08:17:52 -07:00
trans_item.rs rustc: Don't inline in CGUs at -O0 2017-10-07 19:09:46 -07:00
tvec.rs rustc: replace usize with u64 and ConstUsize. 2017-09-11 08:41:15 +03:00
type_.rs rustc: Specify c_int width for each target 2017-09-30 15:54:08 +02:00
type_of.rs rustc: use ty::Const for the length of TyArray. 2017-09-11 08:41:15 +03:00
value.rs Inline last remaining use of Callee::call and delete unused code 2016-12-20 20:03:31 -07:00

NB: This crate is part of the Rust compiler. For an overview of the compiler as a whole, see the README.md file found in librustc.

The trans 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.