rust/src
bors f6e9485bfc Auto merge of #55627 - sunfishcode:cg-llvm-gen, r=nikomatsakis
rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods

This PR is the continuation of #54012 and earlier PRs, in the grand plan of #45274 to allow for multiple codegen backends.

High-level summary: interpose a set of traits between Rust's codegen logic and the LLVM APIs, allowing another backend to implement the traits and share most of the codegen logic. These traits are currently somewhat LLVM-specific, but once this refactoring is in place, they can evolve to be more general.

See [this README](756f84d7ce/src/librustc_codegen_ssa/README.md) for a writeup on the current trait organization.
2018-11-17 04:10:52 +00:00
..
bootstrap Rollup merge of #55870 - waywardmonkeys:typo-fixes, r=wesleywiser 2018-11-13 19:20:44 +08:00
build_helper Prefer unwrap_or_else to unwrap_or in case of function calls/allocations 2018-10-19 09:45:45 +02:00
ci std: Delete the `alloc_system` crate 2018-11-11 09:22:28 -08:00
dlmalloc@c99638dc2e
doc don't inline `pub use some_crate` unless directly asked to 2018-11-09 09:07:57 -06:00
etc Fix typos. 2018-11-11 20:52:36 +07:00
grammar
liballoc Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
libarena Update TypedArena tests 2018-10-19 14:34:44 +02:00
libbacktrace@f4d02bbdbf
libcompiler_builtins@939cbca6e9 Update compiler-builtins submodule 2018-10-30 10:51:55 -07:00
libcore Rollup merge of #55932 - Turbo87:to_digit, r=alexcrichton 2018-11-15 11:04:46 +01:00
libfmt_macros
libgraphviz Remove graphviz::IntoCow 2018-10-05 14:16:10 +02:00
liblibc@c75ca6465a Revert liblibc submodule url 2018-10-18 16:54:43 +02:00
libpanic_abort wasm32-unknown-emscripten expects the rust_eh_personality symbol 2018-11-08 03:27:45 +01:00
libpanic_unwind refactor: use shorthand fields 2018-11-06 15:05:44 -05:00
libproc_macro fix various typos in doc comments 2018-11-13 14:45:31 -05:00
libprofiler_builtins
librustc Auto merge of #55974 - pietroalbini:rollup, r=pietroalbini 2018-11-15 12:43:01 +00:00
librustc_allocator
librustc_apfloat Fix typos. 2018-11-11 20:52:36 +07:00
librustc_asan std: Delete the `alloc_system` crate 2018-11-11 09:22:28 -08:00
librustc_borrowck Remove `ReCanonical` in favor of `ReLateBound` 2018-11-03 11:41:55 +01:00
librustc_codegen_llvm [eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and `Builder` over `Value`s. 2018-11-16 15:08:18 +02:00
librustc_codegen_ssa [eddyb] rustc_codegen_llvm: remove unused parametrization of `CodegenCx` and `Builder` over `Value`s. 2018-11-16 15:08:18 +02:00
librustc_codegen_utils [eddyb] rustc_codegen_utils: remove extraneous `#![allow(dead_code)]`. 2018-11-16 15:08:18 +02:00
librustc_cratesio_shim
librustc_data_structures Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_driver Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_errors rustc: Request ansi colors if stderr isn't a tty 2018-11-08 07:53:03 -08:00
librustc_fs_util
librustc_incremental Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_lint Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_llvm Revert "rustc: Fix (again) simd vectors by-val in ABI" 2018-10-23 00:59:14 -07:00
librustc_lsan std: Delete the `alloc_system` crate 2018-11-11 09:22:28 -08:00
librustc_metadata Rollup merge of #55778 - nnethercote:LrcPreds, r=eddyb 2018-11-15 11:04:36 +01:00
librustc_mir Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_msan std: Delete the `alloc_system` crate 2018-11-11 09:22:28 -08:00
librustc_passes Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustc_platform_intrinsics
librustc_plugin
librustc_privacy Deprecate the `FxHashMap()` and `FxHashSet()` constructor function hack 2018-10-19 14:34:44 +02:00
librustc_resolve Make `NodeId` a `newtype_index` to enable niche optimizations 2018-11-12 10:29:53 +01:00
librustc_save_analysis Auto merge of #55936 - nrc:save-rename, r=eddyb 2018-11-16 21:11:24 +00:00
librustc_target Use type safe `VariantIdx` instead of `usize` everywhere 2018-11-12 14:24:45 +01:00
librustc_traits Rollup merge of #55778 - nnethercote:LrcPreds, r=eddyb 2018-11-15 11:04:36 +01:00
librustc_tsan std: Delete the `alloc_system` crate 2018-11-11 09:22:28 -08:00
librustc_typeck Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
librustdoc Rollup merge of #55926 - cynecx:fix-rustdoc-mobile-css, r=GuillaumeGomez 2018-11-15 11:04:43 +01:00
libserialize
libstd Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
libsyntax Rollup merge of #55901 - euclio:speling, r=petrochenkov 2018-11-15 11:04:42 +01:00
libsyntax_ext fix various typos in doc comments 2018-11-13 14:45:31 -05:00
libsyntax_pos Rename other occs of (Code/File)Map to Source(Map/File) #51574 2018-10-29 21:26:13 +01:00
libterm
libtest add option to libtest to run all tests 2018-10-14 00:58:17 +02:00
libunwind
llvm@7051ead40a Fix DWARF generation for enums 2018-10-30 12:06:07 -06:00
llvm-emscripten@7f23313edf Pull in fix for dist-i686-linux build 2018-11-09 16:59:45 +01:00
rtstartup
rustc Use `jemalloc-sys` on Linux and OSX compilers 2018-11-02 06:52:56 -07:00
rustllvm Auto merge of #55698 - nikic:remove-llvm-4-support, r=alexcrichton 2018-11-11 22:38:54 +00:00
stdsimd@0309be1ade Update stdsimd 2018-11-02 14:58:53 +01:00
test Auto merge of #55974 - pietroalbini:rollup, r=pietroalbini 2018-11-15 12:43:01 +00:00
tools submodules: update clippy from d8b42690 to f5d868c9 2018-11-15 17:49:24 +01:00
.gitignore
Cargo.lock Separating the back folder between backend-agnostic and LLVM-specific code 2018-11-16 15:08:18 +02:00
Cargo.toml
README.md Fix their/there grammar nit 2018-11-12 18:21:52 -08:00
stage0.txt Bump nightly to 1.32.0 2018-10-31 11:53:50 -07:00

README.md

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: