rust/src/librustc_codegen_llvm
Tyler Mandry 8f5f92a07a
Rollup merge of #64840 - michaelwoerister:self-profiling-raii-refactor, r=wesleywiser
SelfProfiler API refactoring and part one of event review

This PR refactors the `SelfProfiler` a little bit so that most profiling methods are RAII-based. The codegen backend code already had something similar, this refactoring pulls this functionality up into `SelfProfiler` itself, for general use.

The second commit of this PR is a review and update of the existing events we are already recording. Names have been made more consistent. CGU names have been removed from event names. They will be added back in when function parameter recording is implemented.

There is still some work to be done for adding new events, especially around trait resolution and the incremental system.

r? @wesleywiser
2019-10-01 23:06:16 -07:00
..
back Self-Profiling: Make names of existing events more consistent and use new API. 2019-09-30 13:31:56 +02:00
debuginfo remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
llvm rustc_codegen_llvm: give names to non-alloca variable values. 2019-09-06 16:57:20 +03:00
abi.rs rustc: rely on c_variadic == true instead of CVarArgs in HIR/Ty fn signatures. 2019-09-28 17:39:00 +03:00
allocator.rs Merge rustc_allocator into libsyntax_ext 2019-07-24 12:27:58 +03:00
asm.rs Remove SyntaxContext from {ast, hir}::{GlobalAsm, InlineAsm} 2019-08-17 09:12:32 +01:00
attributes.rs Translate target features for LLVM 9 2019-07-09 21:55:29 +02:00
base.rs Self-Profiling: Make names of existing events more consistent and use new API. 2019-09-30 13:31:56 +02:00
build.rs
builder.rs Rename some _sty variables to _kind 2019-09-26 12:10:43 +01:00
callee.rs Remove LocalInternedString uses from librustc/ty/. 2019-09-04 14:23:30 +10:00
Cargo.toml remove indexed_vec re-export from rustc_data_structures 2019-09-29 16:48:31 +00:00
common.rs Rollup merge of #64003 - Dante-Broggi:place-align-in-layout, r=matthewjasper 2019-09-05 12:11:08 +02:00
consts.rs Rename ForeignItem.node to ForeignItem.kind 2019-09-26 18:21:48 +01:00
context.rs Remove LocalInternedString uses from librustc_codegen_llvm. 2019-09-04 14:23:45 +10:00
declare.rs Pass type to byval attributes 2019-07-09 21:55:29 +02:00
error_codes.rs Replace diagnostic plugins with macro_rules 2019-09-05 12:35:15 -04:00
intrinsic.rs Rename sty to kind 2019-09-25 15:50:04 +01:00
lib.rs Rollup merge of #64840 - michaelwoerister:self-profiling-raii-refactor, r=wesleywiser 2019-10-01 23:06:16 -07:00
llvm_util.rs add support for hexagon-unknown-linux-musl 2019-07-22 09:44:58 -05:00
metadata.rs format a bit 2019-07-07 09:32:36 +02:00
mono_item.rs remove reexport of rustc::ty::Instance 2019-06-02 22:32:42 -05:00
README.md
type_.rs Remove lint annotations in specific crates that are already enforced by rustbuild 2019-07-28 18:46:24 +03:00
type_of.rs Rename sty to kind 2019-09-25 15:50:04 +01:00
va_arg.rs Expose VaListImpl as the Rust equivalent of __va_list_tag and implement Clone for it. 2019-06-17 16:04:49 -07:00
value.rs

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.