| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-06-24 | disable some layout optimizations for unsizable structs | The 8472 | -42/+48 | |
| 2023-06-24 | Make struct layout not depend on unsizeable tail | Lukas Markeffsky | -2/+6 | |
| 2023-05-16 | Avoid `&format("...")` calls in error message code. | Nicholas Nethercote | -2/+2 | |
| Error message all end up passing into a function as an `impl Into<{D,Subd}iagnosticMessage>`. If an error message is creatd as `&format("...")` that means we allocate a string (in the `format!` call), then take a reference, and then clone (allocating again) the reference to produce the `{D,Subd}iagnosticMessage`, which is silly. This commit removes the leading `&` from a lot of these cases. This means the original `String` is moved into the `{D,Subd}iagnosticMessage`, avoiding the double allocations. This requires changing some function argument types from `&str` to `String` (when all arguments are `String`) or `impl Into<{D,Subd}iagnosticMessage>` (when some arguments are `String` and some are `&str`). | ||||
| 2023-05-05 | Reorder to keep duplicate checks in sync. | Luqman Aden | -7/+12 | |
| 2023-05-05 | Review feedback | Luqman Aden | -13/+22 | |
| 2023-05-05 | Incorporate review feedback from 103926. | Luqman Aden | -38/+33 | |
| 2023-05-05 | Do not use scalar layout if there are ZSTs with alignment > 1 | Oli Scherer | -20/+42 | |
| 2023-04-28 | layout-alignment-promotion logic should depend on the niche-bias | The 8472 | -7/+22 | |
| For start-biased layout we want to avoid overpromoting so that the niche doesn't get pushed back. For end-biased layout we want to avoid promoting fields that may contain one of the niches of interest. | ||||
| 2023-04-28 | [review] add comments, turn flag into enum | The 8472 | -23/+44 | |
| 2023-04-27 | add tracing for layout optimizations | The 8472 | -0/+44 | |
| 2023-04-27 | don't promote large fields to higher alignments if that would affect niche ↵ | The 8472 | -13/+24 | |
| placement | ||||
| 2023-04-27 | try two different niche-placement strategies when layouting univariant structs | The 8472 | -6/+70 | |
| 2023-04-27 | refactor: extract function | The 8472 | -214/+220 | |
| 2023-04-18 | Store hashes in special types so they aren't accidentally encoded as numbers | Ben Kimock | -1/+2 | |
| 2023-04-16 | Various minor Idx-related tweaks | Scott McMurray | -4/+3 | |
| Nothing particularly exciting here, but a couple of things I noticed as I was looking for more index conversions to simplify. | ||||
| 2023-04-04 | Use `FieldIdx` in `FieldsShape` | Scott McMurray | -40/+35 | |
| Finally got to the main motivating example from the MCP :) | ||||
| 2023-04-02 | Use `&IndexSlice` instead of `&IndexVec` where possible | Scott McMurray | -2/+2 | |
| All the same reasons as for `[T]`: more general, less pointer chasing, and `&mut IndexSlice` emphasizes that it doesn't change *length*. | ||||
| 2023-03-25 | Refactor: `VariantIdx::from_u32(0)` -> `FIRST_VARIANT` | Scott McMurray | -9/+9 | |
| Since structs are always `VariantIdx(0)`, there's a bunch of files where the only reason they had `VariantIdx` or `vec::Idx` imported at all was to get the first variant. So this uses a constant for that, and adds some doc-comments to `VariantIdx` while I'm there, since it doesn't have any today. | ||||
| 2023-01-21 | Remove some superfluous type parameters from layout.rs. | Michael Benfield | -75/+71 | |
| Specifically remove V, which can always be VariantIdx, and F, which can always be Layout. | ||||
| 2022-12-01 | Remove useless borrows and derefs | Maybe Waffle | -5/+5 | |
| 2022-11-25 | Simplify and document range layout computation | Oli Scherer | -13/+11 | |
| 2022-11-24 | move things from rustc_target::abi to rustc_abi | hkalbasi | -0/+947 | |
