rust/src
Matthew Jasper a1d0266878 Generate MIR thats easier for llvm for str matches
LLVM appears to prefer (spend less time optimizing) long if chains if
it receives them in approzimately source order.
This fixes a ~10% regression for optimized builds of the encoding benchmark
on perf.rlo due to the changes to decision tree construction.
2019-06-13 21:05:21 +01:00
..
bootstrap Rollup merge of #61734 - mati865:books, r=alexcrichton 2019-06-12 04:22:56 +02:00
build_helper Bump compiler-builtins to 0.1.15 2019-05-22 07:46:36 -07:00
ci Auto merge of #61587 - alexcrichton:distcheck-no-assertions, r=pietroalbini 2019-06-12 10:51:16 +00:00
doc Rollup merge of #61734 - mati865:books, r=alexcrichton 2019-06-12 04:22:56 +02:00
etc Fix .natvis visualizers. 2019-05-09 16:15:43 -07:00
grammar
liballoc Turn #[allocator] into a built-in attribute and rename it to #[rustc_allocator] 2019-06-08 23:55:25 +03:00
libarena Add deny(unused_lifetimes) to all the crates that have deny(internal). 2019-06-11 14:11:59 +03:00
libcore Rollup merge of #61671 - koalatux:nth-back-range, r=KodrAus 2019-06-12 04:22:51 +02:00
libfmt_macros Rollup merge of #61568 - Mark-Simulacrum:symbol-fmt-macros, r=estebank 2019-06-12 04:22:47 +02:00
libgraphviz
libpanic_abort
libpanic_unwind
libproc_macro
libprofiler_builtins Ship profiler with windows-gnu 2019-05-23 13:32:30 +02:00
librustc Make FalseEdges always have two targets 2019-06-12 22:41:58 +01:00
librustc_allocator Add deny(unused_lifetimes) to all the crates that have deny(internal). 2019-06-11 14:11:59 +03:00
librustc_apfloat ignore-tidy-filelength on all files with greater than 3000 lines 2019-04-25 21:39:09 +01:00
librustc_asan
librustc_borrowck Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_codegen_llvm rustc_codegen_llvm: deny(internal). 2019-06-12 16:06:35 +03:00
librustc_codegen_ssa Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_codegen_utils Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_cratesio_shim
librustc_data_structures Auto merge of #60669 - c410-f3r:attrs-fn, r=petrochenkov 2019-06-12 07:38:01 +00:00
librustc_driver Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_errors Auto merge of #61741 - Centril:rollup-fgro5kz, r=Centril 2019-06-11 23:29:20 +00:00
librustc_fs_util
librustc_incremental Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_interface Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_lint Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_llvm
librustc_lsan
librustc_macros Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_metadata Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_mir Generate MIR thats easier for llvm for str matches 2019-06-13 21:05:21 +01:00
librustc_msan
librustc_passes Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_plugin Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_privacy Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_resolve Auto merge of #61741 - Centril:rollup-fgro5kz, r=Centril 2019-06-11 23:29:20 +00:00
librustc_save_analysis rustc: replace TyCtxt<'tcx, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
librustc_target rustc_target: deny(unused_lifetimes). 2019-06-11 14:11:58 +03:00
librustc_traits Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustc_tsan
librustc_typeck Run rustfmt --file-lines ... for changes from previous commits. 2019-06-12 13:38:28 +03:00
librustdoc rustc: replace TyCtxt<'tcx, 'gcx, 'tcx> with TyCtxt<'gcx, 'tcx>. 2019-06-12 13:38:27 +03:00
libserialize Rollup merge of #59600 - tobia:master, r=pnkfelix 2019-06-10 13:14:26 +02:00
libstd Rollup merge of #61652 - JohnTitor:docs-improve-array, r=Centril 2019-06-11 17:14:01 +02:00
libsyntax Auto merge of #61612 - nnethercote:improve-parse_bottom_expr, r=petrochenkov 2019-06-12 16:30:05 +00:00
libsyntax_ext Auto merge of #60669 - c410-f3r:attrs-fn, r=petrochenkov 2019-06-12 07:38:01 +00:00
libsyntax_pos Call str::eq and <[T]>::eq for match comparisons 2019-06-13 21:05:21 +01:00
libterm Remove unused #![feature(custom_attribute)]s 2019-06-08 23:55:24 +03:00
libtest Make "panic did not include expected string" message consistent 2019-05-30 21:58:33 +01:00
libunwind Set -funwind-tables and -fno-exceptions unconditionally for LLVM's libunwind 2019-05-20 12:29:58 -07:00
llvm-emscripten@7f23313edf
llvm-project@788592fb27 Update LLVM 2019-05-31 00:49:06 +01:00
rtstartup
rustc Remove leading newlines 2019-04-22 17:01:33 +01:00
rustllvm Limit internalization in LLVM 8 ThinLTO 2019-04-26 08:58:14 -07:00
stdsimd@4bf456c35e Breaking update of stdsimd 2019-04-22 09:07:25 +02:00
test Create fewer basic blocks in match MIR lowering 2019-06-13 21:05:21 +01:00
tools Auto merge of #61694 - Xanewok:update-rls, r=kennytm 2019-06-10 18:24:43 +00:00
.gitignore
README.md
stage0.txt bump nightly to 1.37.0 2019-05-23 12:27:58 +02: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.

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