rust/src
bors 11432ba980 Auto merge of #51230 - nikic:no-verify-lto, r=pnkfelix
Disable LLVM verification by default

Currently -Z no-verify only controls IR verification prior to LLVM codegen, while verification is performed unconditionally both before and after linking with (Thin)LTO.

Also wondering what the sentiment is on disabling verification by default (and e.g. only enabling it on ALT builds with assertions). This does not seem terribly useful outside of rustc development and it does seem to show up in profiles (at something like 3%).

**EDIT:** A table showing the various configurations and what is enabled when.

| Configuration | Dynamic verification performed | LLVM static assertions compiled in |
| --- | --- | --- |
| alt builds | | yes |
| nightly builds | | no |
| stable builds | | no |
| CI builds | | |
| dev builds in a checkout | | |
2018-07-11 12:12:13 +00:00
..
bootstrap Auto merge of #51230 - nikic:no-verify-lto, r=pnkfelix 2018-07-11 12:12:13 +00:00
build_helper
ci bump minimum LLVM version to 5.0 2018-07-09 11:35:52 +02:00
dlmalloc@c99638dc2e
doc Auto merge of #52018 - flip1995:rfc2103, r=oli-obk 2018-07-06 18:03:46 +00:00
etc Add some more additional functions to the shim 2018-07-02 18:23:57 +02:00
grammar
jemalloc@1f5a28755e
liballoc Auto merge of #52159 - SimonSapin:alloc-prelude, r=alexcrichton 2018-07-09 14:29:59 +00:00
liballoc_jemalloc Mark alloc_jemalloc as perma-unstable 2018-06-11 13:48:57 -07:00
liballoc_system Move Unstable Book sections for #[global_allocator] and System to std::alloc docs 2018-06-11 13:48:57 -07:00
libarena Make raw_vec perma-unstable and hidden 2018-06-29 14:01:33 +02:00
libbacktrace@f4d02bbdbf
libcompiler_builtins@86bf357a14 Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
libcore Rollup merge of #52238 - frewsxcv:frewsxcv-unwrap, r=GuillaumeGomez 2018-07-11 10:02:03 +02:00
libfmt_macros
libgraphviz
liblibc@b6d23ed45d Update liblibc 2018-07-01 20:23:41 +02:00
libpanic_abort
libpanic_unwind
libproc_macro Address comments 2018-06-30 01:53:32 +03:00
libprofiler_builtins
librustc Auto merge of #51230 - nikic:no-verify-lto, r=pnkfelix 2018-07-11 12:12:13 +00:00
librustc_allocator Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
librustc_apfloat migrate codebase to ..= inclusive range patterns 2018-06-26 07:53:30 -07:00
librustc_asan Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
librustc_borrowck Auto merge of #52106 - PramodBisht:issue/52049, r=oli-obk 2018-07-08 14:08:36 +00:00
librustc_codegen_llvm Auto merge of #51230 - nikic:no-verify-lto, r=pnkfelix 2018-07-11 12:12:13 +00:00
librustc_codegen_utils Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
librustc_cratesio_shim
librustc_data_structures improve comments 2018-07-02 11:40:49 -04:00
librustc_driver Auto merge of #52100 - nielx:fix/rust_driver-stacklimit, r=cramertj 2018-07-10 01:07:23 +00:00
librustc_errors Fortify dummy span checking 2018-06-30 01:53:32 +03:00
librustc_incremental Make opaque::Encoder append-only and make it infallible 2018-06-27 11:43:15 +02:00
librustc_lint Whitelist lints 2018-07-05 20:06:33 +02:00
librustc_llvm Initialize LLVM's AMDGPU target machine, if available. 2018-06-14 01:18:10 -05:00
librustc_lsan Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
librustc_metadata Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
librustc_mir Auto merge of #51966 - alexcrichton:llvm7, r=michaelwoerister 2018-07-11 07:20:14 +00:00
librustc_msan Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
librustc_passes General fixes and cleanup. 2018-07-07 01:09:09 +01:00
librustc_platform_intrinsics
librustc_plugin Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
librustc_privacy Get rid of TyImplTraitExistential 2018-07-02 09:17:38 +02:00
librustc_resolve Fix typo in E0433 docs 2018-07-11 07:43:10 +02:00
librustc_save_analysis call it hir::VisibilityKind instead of hir::Visibility_:* 2018-07-01 11:05:10 -07:00
librustc_target Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
librustc_traits Change wording 2018-07-09 21:20:26 +02:00
librustc_tsan Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00
librustc_typeck Auto merge of #51966 - alexcrichton:llvm7, r=michaelwoerister 2018-07-11 07:20:14 +00:00
librustdoc Auto merge of #52245 - GuillaumeGomez:rollup, r=GuillaumeGomez 2018-07-11 10:00:30 +00:00
libserialize Make opaque::Encoder append-only and make it infallible 2018-06-27 11:43:15 +02:00
libstd Implement #[alloc_error_handler] 2018-07-09 23:13:24 +02:00
libstd_unicode
libsyntax Auto merge of #52191 - SimonSapin:alloc_error_handler, r=alexcrichton 2018-07-10 15:20:17 +00:00
libsyntax_ext Implement #[macro_export(local_inner_macros)] 2018-06-27 13:10:16 +03:00
libsyntax_pos Address comments 2018-06-30 01:53:32 +03:00
libterm migrate codebase to ..= inclusive range patterns 2018-06-26 07:53:30 -07:00
libtest
libunwind
llvm@0368490510 Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
llvm-emscripten@2717444753
rtstartup
rustc
rustllvm Auto merge of #51966 - alexcrichton:llvm7, r=michaelwoerister 2018-07-11 07:20:14 +00:00
stdsimd@886ff388fb Update stdsimd 2018-07-02 12:53:46 +02:00
test Auto merge of #52245 - GuillaumeGomez:rollup, r=GuillaumeGomez 2018-07-11 10:00:30 +00:00
tools Upgrade to LLVM's master branch (LLVM 7) 2018-07-10 13:43:01 -07:00
Cargo.lock Update Cargo.lock 2018-07-07 11:05:21 +02:00
Cargo.toml
README.md rustc: rename ty::maps to ty::query. 2018-06-14 18:05:12 +03:00
stage0.txt Bootstrap from 1.28.0-beta.3 2018-06-30 13:17:49 -07:00

This directory contains the source code of the rust project, including:

  • rustc and its tests
  • libstd
  • Various submodules for tools, like rustdoc, rls, etc.

For more information on how various parts of the compiler work, see the rustc guide.

Their is also useful content in the following READMEs, which are gradually being moved over to the guide: