| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-06-22 | Avoid `Lrc<Box<dyn CodegenBackend>>`. | Nicholas Nethercote | -3/+3 | |
| Because `Lrc<Box<T>>` is silly. (Clippy warns about `Rc<Box<T>>` and `Arc<Box<T>>`, and it would warn here if (a) we used Clippy with rustc, and (b) Clippy knew about `Lrc`.) | ||||
| 2023-06-21 | Remove Queries::ongoing_codegen. | Nicholas Nethercote | -18/+11 | |
| There's no need to store it in `Queries`. We can just use a local variable, because it's always used shortly after it's produced. The commit also removes the `tcx.analysis()` call in `ongoing_codegen`, because it's easy to ensure that's done beforehand. All this makes the dataflow within `run_compiler` easier to follow, at the cost of making one test slightly more verbose, which I think is a good tradeoff. | ||||
| 2023-06-08 | Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few ↵ | Andrew Xie | -3/+8 | |
| misc issues, added collect to UnordItems | ||||
| 2023-06-04 | Switched some uses to UnordMap | Andrew Xie | -1/+3 | |
| 2023-05-17 | Only depend on CFG_VERSION in rustc_interface | jyn | -1/+1 | |
| this avoids having to rebuild the whole compiler on each commit when `omit-git-hash = false`. | ||||
| 2023-05-01 | Change rlink serialization from `MemEncoder` to `FileEncoder`. | Nicholas Nethercote | -2/+1 | |
| Because we're writing to a file, so `FileEncoder` is better because we don't have to write all the data to memory first. | ||||
| 2023-04-26 | Remove QueryEngine trait | John Kåre Alsaker | -4/+0 | |
| 2023-04-04 | Add a usize-indexed append-only-vec | Oli Scherer | -2/+2 | |
| 2023-03-23 | rustc_interface: Add a new query `pre_configure` | Vadim Petrochenkov | -10/+31 | |
| It partially expands crate attributes before the main expansion pass (without modifying the crate), and the produced preliminary crate attribute list is used for querying a few attributes that are required very early. Crate-level cfg attributes are then expanded normally during the main expansion pass, like attributes on any other nodes. | ||||
| 2023-03-23 | expand: Pass `ast::Crate` by reference to AST transforming passes | Vadim Petrochenkov | -3/+3 | |
| Also some more attributes are passed by reference. | ||||
| 2023-03-08 | Only compute the crate hash when necessary. | Nicholas Nethercote | -2/+7 | |
| The crate hash is needed: - if debug assertions are enabled, or - if incr. comp. is enabled, or - if metadata is being generated, or - if `-C instrumentation-coverage` is enabled. This commit avoids computing the crate hash when these conditions are all false, such as when doing a release build of a binary crate. It uses `Option` to store the hashes when needed, rather than computing them on demand, because some of them are needed in multiple places and computing them on demand would make compilation slower. The commit also removes `Owner::hash_without_bodies`. There is no benefit to pre-computing that one, it can just be done in the normal fashion. | ||||
| 2023-02-21 | Use a lock-free datastructure for `source_span` | Oli Scherer | -4/+2 | |
| 2023-02-20 | Move the resolver into a query | Oli Scherer | -27/+4 | |
| 2023-02-20 | Make `configure_and_expand` "infalllible" by just aborting the compilation ↵ | Oli Scherer | -3/+2 | |
| if it fails instead of bubbling out an error | ||||
| 2023-02-20 | Use tcx queries instead of passing the values to `configure_and_expand`. | Oli Scherer | -8/+2 | |
| 2023-02-20 | Stuff a TyCtxt into the Resolver | Oli Scherer | -2/+1 | |
| 2023-02-20 | Run the resolver after TyCtxt construction | Oli Scherer | -38/+53 | |
| 2023-02-20 | Make untracked.cstore lockable so that resolution can still write to it when ↵ | Oli Scherer | -0/+3 | |
| using TyCtxt | ||||
| 2023-02-14 | Simplify expansion logic | Oli Scherer | -3/+3 | |
| 2023-02-14 | Inline the expansion query | Oli Scherer | -28/+23 | |
| 2023-02-14 | Remove BoxedResolver | Oli Scherer | -13/+16 | |
| 2023-02-13 | rustc_resolve: Remove `Resolver::clone_output` | Vadim Petrochenkov | -6/+4 | |
| And remove `Clone` impls and `Lrc`s that are no longer necessary | ||||
| 2023-02-09 | Remove `QueryContext`. | Nicholas Nethercote | -13/+14 | |
| There is a type `QueryCtxt`, which impls the trait `QueryContext`. Confusingly, there is another type `QueryContext`. The latter is (like `TyCtxt`) just a pointer to a `GlobalContext`. It's not used much, e.g. its `impl` block has a single method. This commit removes `QueryContext`, replacing its use with direct `GlobalCtxt` use. | ||||
| 2023-01-23 | Store the gctxt instead of fetching it twice. | Oli Scherer | -1/+1 | |
| 2023-01-23 | Make `output_filenames` a real query | Oli Scherer | -8/+0 | |
| 2023-01-23 | Remove another unneeded use of the resolver | Oli Scherer | -2/+7 | |
| 2023-01-16 | Avoid one more call site to `Compiler::expansion` | Oli Scherer | -1/+1 | |
| 2023-01-16 | Move compiler input and ouput paths into session | Oli Scherer | -12/+4 | |
| 2023-01-16 | Group some commonly passed together values into a struct | Oli Scherer | -2/+2 | |
| 2023-01-16 | remove some arguments that can also be fed at the caller side | Oli Scherer | -7/+23 | |
| 2023-01-16 | Remove `prepare_outputs` | Oli Scherer | -19/+9 | |
| 2023-01-12 | Harden the pre-tyctxt query system against accidental recomputation | Oli Scherer | -48/+60 | |
| 2022-12-18 | don't clone Copy types | Matthias Krüger | -1/+1 | |
| 2022-12-07 | Use `Symbol` for the crate name instead of `String`/`str` | Oli Scherer | -10/+11 | |
| 2022-12-03 | Remove all but one call site of `prepare_outputs` and fetch the value from ↵ | Oli Scherer | -6/+8 | |
| the TyCtxt instead | ||||
| 2022-11-16 | Use `as_deref` in compiler (but only where it makes sense) | Maybe Waffle | -5/+1 | |
| 2022-09-30 | Fix typo | nils | -1/+1 | |
| 2022-09-30 | Update compiler/rustc_interface/src/queries.rs | Camille Gillot | -1/+1 | |
| 2022-09-30 | Add comment explaining why we flush delayed bugs before codegen | nils | -0/+2 | |
| 2022-09-27 | Flush delayed bugs before codegen | Nilstrieb | -0/+2 | |
| Sometimes it can happen that invalid code like a TyKind::Error makes its way through the compiler without triggering any errors (this is always a bug in rustc but bugs do happen sometimes :)). These ICEs will manifest in the backend like as cg_llvm not being able to get the layout of `[type error]`, which makes it hard to debug. By flushing before codegen, we display all the delayed bugs, making it easier to trace it to the root of the problem. | ||||
| 2022-09-01 | Always import all tracing macros for the entire crate instead of piecemeal ↵ | Oli Scherer | -1/+1 | |
| by module | ||||
| 2022-08-22 | Remove use of DiagnosticArgFromDisplay | Giacomo Stevanato | -6/+2 | |
| 2022-08-22 | Move rustc_interface diagnostics to struct SessionDiagnostic derives | Giacomo Stevanato | -9/+9 | |
| 2022-07-13 | Rename `debugging_opts` to `unstable_opts` | Joshua Nelson | -1/+1 | |
| This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`). Rename it to be more clear. | ||||
| 2022-07-06 | Make AST lowering a query. | Camille GILLOT | -5/+5 | |
| 2022-05-10 | only_local: always check for misuse | lcnr | -4/+1 | |
| 2022-04-02 | Address review comments and add a test | Jakub Beránek | -1/+1 | |
| 2022-04-02 | Include a header in .rlink files to provide nicer error messages when a ↵ | Jakub Beránek | -3/+3 | |
| wrong file is parsed as .rlink | ||||
| 2022-03-16 | rustc_error: make ErrorReported impossible to construct | mark | -5/+2 | |
| There are a few places were we have to construct it, though, and a few places that are more invasive to change. To do this, we create a constructor with a long obvious name. | ||||
| 2022-03-02 | rename ErrorReported -> ErrorGuaranteed | mark | -2/+2 | |
