| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-03-07 | compiler: Use size_of from the prelude instead of imported | Thalia Archibald | -1/+1 | |
| Use `std::mem::{size_of, size_of_val, align_of, align_of_val}` from the prelude instead of importing or qualifying them. These functions were added to all preludes in Rust 1.80. | ||||
| 2025-01-21 | bumpt compiler and tools to windows 0.59 | klensy | -1/+1 | |
| 2024-11-15 | rustc_metadata: Preprocess search paths for better performance | Piotr Osiewicz | -16/+23 | |
| Over in Zed we've noticed that loading crates for a large-ish workspace can take almost 200ms. We've pinned it down to how rustc searches for paths, as it performs a linear search over the list of candidate paths. In our case the candidate list had about 20k entries which we had to iterate over for each dependency being loaded. This commit introduces a simple FilesIndex that's just a sorted Vec under the hood. Since crates are looked up by both prefix and suffix, we perform a range search on said Vec (which constraints the search space based on prefix) and follow up with a linear scan of entries with matching suffixes. FilesIndex is also pre-filtered before any queries are performed using available target information; query prefixes/sufixes are based on the target we are compiling for, so we can remove entries that can never match up front. Overall, this commit brings down build time for us in dev scenarios by about 6%. 100ms might not seem like much, but this is a constant cost that each of our workspace crates has to pay, even when said crate is miniscule. | ||||
| 2024-11-02 | Rename target triple to target tuple in many places in the compiler | Noratrieb | -2/+2 | |
| This changes the naming to the new naming, used by `--print target-tuple`. It does not change all locations, but many. | ||||
| 2024-10-30 | fix libc call from i8 to u8 | Henry Jiang | -1/+1 | |
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -3/+3 | |
| 2024-09-09 | Remove needless returns detected by clippy in the compiler | Eduardo Sánchez Muñoz | -1/+1 | |
| 2024-08-22 | rustc: Simplify getting sysroot library directory | Vadim Petrochenkov | -15/+1 | |
| 2024-08-03 | linker: Pass fewer search directories to the linker | Vadim Petrochenkov | -0/+5 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -10/+9 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-06-06 | Improve naming and path operations in crate loader | Nilstrieb | -9/+9 | |
| Simplify the path operation with `join`, clarify some of the names. | ||||
| 2024-05-21 | add helper to target bin path | Rémy Rakic | -0/+8 | |
| 2024-04-30 | Remove `extern crate tracing` from numerous crates. | Nicholas Nethercote | -4/+3 | |
| 2024-04-12 | linker: Remove laziness and caching from native search directory walks | Vadim Petrochenkov | -5/+0 | |
| It shouldn't be necessary for performance now. | ||||
| 2024-04-12 | linker: Avoid some allocations in search directory iteration | Vadim Petrochenkov | -2/+2 | |
| 2024-03-11 | Rollup merge of #116793 - WaffleLapkin:target_rules_the_backend, r=cjgillot | Jubilee | -0/+6 | |
| Allow targets to override default codegen backend Implements https://github.com/rust-lang/compiler-team/issues/670. | ||||
| 2024-02-18 | windows bump to 0.52 | klensy | -1/+0 | |
| 2024-02-15 | Refactor out a repeating pattern with `get_or_default_sysroot` | Maybe Waffle | -0/+6 | |
| 2023-11-30 | Remove unused `FileMatch`. | Nicholas Nethercote | -6/+0 | |
| 2023-05-09 | bump windows crate 0.46 -> 0.48 in workspace | klensy | -2/+2 | |
| 2023-04-14 | make sysroot finding compatible with multiarch systems | ozkanonur | -17/+18 | |
| Signed-off-by: ozkanonur <work@onurozkan.dev> | ||||
| 2023-03-30 | Rollup merge of #109522 - bzEq:aix-current-dll-path, r=Nilstrieb | Michael Goulet | -0/+44 | |
| Implement current_dll_path for AIX AIX doesn't feature `dladdr`, use `loadquery` instead. `loadquery` is documented in https://www.ibm.com/docs/en/aix/7.2?topic=l-loadquery-subroutine. | ||||
| 2023-03-28 | Check data segment range | Kai Luo | -6/+5 | |
| 2023-03-28 | Address comment | Kai Luo | -5/+11 | |
| 2023-03-24 | Avoid misalign | Kai Luo | -3/+8 | |
| 2023-03-23 | Rollup merge of #109231 - Zoxc:fs-non-canon, r=eholk | Matthias Krüger | -2/+3 | |
| Add `try_canonicalize` to `rustc_fs_util` and use it over `fs::canonicalize` This adds `try_canonicalize` which tries to call `fs::canonicalize`, but falls back to `std::path::absolute` if it fails. Existing `canonicalize` calls are replaced with it. `fs::canonicalize` is not guaranteed to work on Windows. | ||||
| 2023-03-23 | Implement current_dll_path for AIX | Kai Luo | -0/+34 | |
| 2023-03-20 | migrate compiler, bootstrap, and compiletest to windows-rs | Andy Russell | -22/+25 | |
| 2023-03-16 | Add `try_canonicalize` to `rustc_fs_util` and use it over `fs::canonicalize` | John Kåre Alsaker | -2/+3 | |
| 2023-02-28 | compiler/rustc_session: fix sysroot detection logic ... | liushuyu | -1/+11 | |
| ... on systems where /usr/lib contains a multi-arch structure | ||||
| 2023-02-16 | Replace some `then`s with some `then_some`s | Maybe Waffle | -1/+1 | |
| 2023-02-16 | `if $c:expr { Some($r:expr) } else { None }` =>> `$c.then(|| $r)` | Maybe Waffle | -1/+1 | |
| 2023-01-17 | Remove double spaces after dots in comments | Maybe Waffle | -1/+1 | |
| 2022-12-19 | clippy::complexity fixes | Matthias Krüger | -2/+2 | |
| filter_next needless_question_mark bind_instead_of_map manual_find derivable_impls map_identity redundant_slicing skip_while_next unnecessary_unwrap needless_bool | ||||
| 2022-12-10 | compiler: remove unnecessary imports and qualified paths | KaDiWa | -1/+0 | |
| 2022-11-04 | improve `filesearch::get_or_default_sysroot` r=ozkanonur | Onur Özkan | -16/+120 | |
| Signed-off-by: Onur Özkan <work@onurozkan.dev> | ||||
| 2022-09-01 | Always import all tracing macros for the entire crate instead of piecemeal ↵ | Oli Scherer | -1/+0 | |
| by module | ||||
| 2022-03-24 | Prettify rustc_session fmt with capturing args (nfc) | Jubilee Young | -1/+1 | |
| 2022-02-02 | Inline and remove `FileSearch::search`. | Nicholas Nethercote | -14/+1 | |
| It has only a single callsite, and having all the code in one place will make it possible to optimize the search. | ||||
| 2022-02-02 | Remove `FileMatch`. | Nicholas Nethercote | -12/+2 | |
| It's returned from `FileSearch::search` but it's only used to print some debug info. | ||||
| 2022-02-02 | Remove rlib special-casing in `FileSearch::search`. | Nicholas Nethercote | -10/+1 | |
| This code and comment appear to be out of date. `CrateLocator::find_library_crate` is the only caller of this function and it handles rlib vs dylib overlap itself (see `CrateLocator::extract_lib`) after inspecting all the files present, so it doesn't need to see them in any particular order. | ||||
| 2021-12-04 | Use IntoIterator for array impl everywhere. | Mara Bos | -2/+2 | |
| 2021-09-08 | Move get_tools_search_paths from FileSearch to Session | bjorn3 | -12/+0 | |
| It only uses fields of FileSearch that are stored in Session too | ||||
| 2021-09-08 | Doc comments | bjorn3 | -6/+6 | |
| 2021-05-10 | Adjust target search algorithm for rustlib path | Simonas Kazlauskas | -53/+15 | |
| With this the concerns expressed in #83800 should be addressed. | ||||
| 2021-02-25 | fix review | klensy | -1/+1 | |
| 2021-02-23 | replaced some unwrap_or with unwrap_or_else | klensy | -1/+1 | |
| 2021-02-05 | Auto merge of #79253 - rcvalle:fix-rustc-sysroot-cas, r=nagisa | bors | -7/+45 | |
| Fix rustc sysroot in systems using CAS Change filesearch::get_or_default_sysroot() to check if sysroot is found using env::args().next() if rustc in argv[0] is a symlink; otherwise, or if it is not found, use env::current_exe() to imply sysroot. This makes the rustc binary able to locate Rust libraries in systems using content-addressable storage (CAS). | ||||
| 2021-01-27 | Fix rustc sysroot in systems using CAS | Ramon de C Valle | -7/+45 | |
| Change filesearch::get_or_default_sysroot() to check if sysroot is found using env::args().next() if rustc in argv[0] is a symlink; otherwise, or if it is not found, use env::current_exe() to imply sysroot. This makes the rustc binary able to locate Rust libraries in systems using content-addressable storage (CAS). | ||||
| 2020-12-30 | where possible, pass slices instead of &Vec or &String (clippy::ptr_arg) | Matthias Krüger | -1/+1 | |
