| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-09-19 | added typetree support for memcpy | Karan Janthe | -0/+1 | |
| 2025-08-08 | Rollup merge of #144192 - RalfJung:atomicrmw-ptr, r=nikic | Trevor Gross | -1/+6 | |
| atomicrmw on pointers: move integer-pointer cast hacks into backend Conceptually, we want to have atomic operations on pointers of the form `fn atomic_add(ptr: *mut T, offset: usize, ...)`. However, LLVM does not directly support such operations (https://github.com/llvm/llvm-project/issues/120837), so we have to cast the `offset` to a pointer somewhere. This PR moves that hack into the LLVM backend, so that the standard library, intrinsic, and Miri all work with the conceptual operation we actually want. Hopefully, one day LLVM will gain a way to represent these operations without integer-pointer casts, and then the hack will disappear entirely. Cc ```@nikic``` -- this is the best we can do right now, right? Fixes https://github.com/rust-lang/rust/issues/134617 | ||||
| 2025-08-04 | Merge commit '482e8540a1b757ed7bccc2041c5400f051fdb01e' into ↵ | Guillaume Gomez | -6/+20 | |
| subtree-update_cg_gcc_2025-08-04 | ||||
| 2025-07-26 | Implement support for explicit tail calls in the MIR block builders and the ↵ | Joel Wejdenstål | -0/+15 | |
| LLVM codegen backend. | ||||
| 2025-07-23 | atomicrmw on pointers: move integer-pointer cast hacks into backend | Ralf Jung | -1/+6 | |
| 2025-07-18 | Merge commit 'f682d09eefc6700b9e5851ef193847959acf4fac' into ↵ | Guillaume Gomez | -1/+5 | |
| subtree-update_cg_gcc_2025-07-18 | ||||
| 2025-07-07 | Remove support for dynamic allocas | mejrs | -4/+0 | |
| 2025-06-30 | Merge commit '4b5c44b14166083eef8d71f15f5ea1f53fc976a0' into ↵ | Guillaume Gomez | -35/+11 | |
| subtree-update_cg_gcc_2025-06-30 | ||||
| 2025-06-29 | Remove `()` returned value | Guillaume Gomez | -1/+1 | |
| 2025-06-29 | Fix signature of `filter_landing_pad` | Guillaume Gomez | -2/+2 | |
| 2025-06-28 | Remove unwanted semi-colon in `rustc_codegen_gcc` | Guillaume Gomez | -1/+1 | |
| 2025-06-28 | Merge commit 'b7091eca6d8eb0fe88b58cc9a7aec405d8de5b85' into ↵ | Guillaume Gomez | -24/+41 | |
| subtree-update_cg_gcc_2025-06-28 | ||||
| 2025-06-22 | Remove dead instructions in terminate blocks | Mark Rousskov | -2/+2 | |
| 2025-06-18 | Merge commit 'fda0bb9588912a3e0606e880ca9f6e913cf8a5a4' into ↵ | Guillaume Gomez | -6/+30 | |
| subtree-update_cg_gcc_2025-06-18 | ||||
| 2025-06-15 | Rollup merge of #133952 - bjorn3:remove_wasm_legacy_abi, r=alexcrichton | León Orell Valerian Liehr | -7/+1 | |
| Remove wasm legacy abi Closes https://github.com/rust-lang/rust/issues/122532 Closes https://github.com/rust-lang/rust/issues/138762 Fixes https://github.com/rust-lang/rust/issues/71871 https://github.com/rust-lang/rust/issues/88152 Fixes https://github.com/rust-lang/rust/issues/115666 Fixes https://github.com/rust-lang/rust/issues/129486 | ||||
| 2025-06-14 | Remove all support for wasm's legacy ABI | bjorn3 | -7/+1 | |
| 2025-06-12 | Simplify implementation of Rust intrinsics by using type parameters in the cache | sayantn | -1/+1 | |
| 2025-05-28 | get rid of rustc_codegen_ssa::common::AtomicOrdering | Ralf Jung | -5/+5 | |
| 2025-05-14 | Merge commit '6ba33f5e1189a5ae58fb96ce3546e76b13d090f5' into ↵ | Guillaume Gomez | -4/+21 | |
| subtree-update_cg_gcc_2025-05-14 | ||||
| 2025-05-09 | remove 'unordered' atomic intrinsics | Ralf Jung | -1/+0 | |
| 2025-04-30 | Rollup merge of #134232 - bjorn3:naked_asm_improvements, r=wesleywiser | Matthias Krüger | -1/+1 | |
| Share the naked asm impl between cg_ssa and cg_clif This was introduced in https://github.com/rust-lang/rust/pull/128004. | ||||
| 2025-04-18 | Merge commit 'db1a31c243a649e1fe20f5466ba181da5be35c14' into ↵ | Guillaume Gomez | -10/+45 | |
| subtree-update_cg_gcc_2025-04-18 | ||||
| 2025-04-14 | Pass &mut self to codegen_global_asm | bjorn3 | -1/+1 | |
| 2025-03-07 | compiler: Use size_of from the prelude instead of imported | Thalia Archibald | -5/+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-02-19 | Rework `OperandRef::extract_field` to stop calling `to_immediate_scalar` on ↵ | Scott McMurray | -4/+8 | |
| things which are already immediates That means it stops trying to truncate things that are already `i1`s. | ||||
| 2025-02-19 | Emit `trunc nuw` for unchecked shifts and `to_immediate_scalar` | Scott McMurray | -1/+1 | |
| - For shifts this shrinks the IR by no longer needing an `assume` while still providing the UB information - Having this on the `i8`→`i1` truncations will hopefully help with some places that have to load `i8`s or pass those in LLVM structs without range information | ||||
| 2025-02-13 | Set both `nuw` and `nsw` in slice size calculation | Scott McMurray | -25/+1 | |
| There's an old note in the code to do this, and now that LLVM-C has an API for it, we might as well. | ||||
| 2025-02-08 | Rustfmt | bjorn3 | -11/+10 | |
| 2025-02-04 | cg_gcc: Directly use rustc_abi instead of reexports | Jubilee Young | -1/+1 | |
| 2025-01-13 | Merge commit '59a81c2ca1edc88ad3ac4b27a8e03977ffb8e73a' into ↵ | Antoni Boucher | -20/+52 | |
| subtree-update_cg_gcc_2025_01_12 | ||||
| 2024-11-18 | use `TypingEnv` when no `infcx` is available | lcnr | -5/+5 | |
| the behavior of the type system not only depends on the current assumptions, but also the currentnphase of the compiler. This is mostly necessary as we need to decide whether and how to reveal opaque types. We track this via the `TypingMode`. | ||||
| 2024-10-29 | cg_gcc: `rustc_abi::Abi` => `BackendRepr` | Jubilee Young | -2/+2 | |
| 2024-10-25 | coverage: SSA doesn't need to know about `instrprof_increment` | Zalathar | -10/+0 | |
| 2024-10-18 | rust_for_linux: -Zregparm=<N> commandline flag for X86 (#116972) | Andrew Zhogin | -1/+7 | |
| 2024-10-08 | cg_gcc: Factor out rustc_target::abi | Jubilee Young | -3/+4 | |
| 2024-09-27 | Merge commit '3187d32079b817522cc17413ec9185b130daf693' into subtree-update | Guillaume Gomez | -31/+23 | |
| 2024-09-24 | Auto merge of #130389 - Luv-Ray:LLVMMDNodeInContext2, r=nikic | bors | -0/+1 | |
| llvm: replace some deprecated functions `LLVMMDStringInContext` and `LLVMMDNodeInContext` are deprecated, replace them with `LLVMMDStringInContext2` and `LLVMMDNodeInContext2`. Also replace `Value` with `Metadata` in some function signatures for better consistency. | ||||
| 2024-09-22 | Reformat using the new identifier sorting from rustfmt | Michael Goulet | -14/+15 | |
| 2024-09-19 | replace some deprecated functions | Luv-Ray | -0/+1 | |
| 2024-09-17 | Use associative type defaults in `{Layout,FnAbi}OfHelpers`. | Nicholas Nethercote | -5/+0 | |
| This avoids some repetitive boilerplate code. | ||||
| 2024-09-17 | Rename supertraits of `CodegenMethods`. | Nicholas Nethercote | -2/+2 | |
| Supertraits of `BuilderMethods` are all called `XyzBuilderMethods`. Supertraits of `CodegenMethods` are all called `XyzMethods`. This commit changes the latter to `XyzCodegenMethods`, for consistency. | ||||
| 2024-09-17 | Merge `HasCodegen` into `BuilderMethods`. | Nicholas Nethercote | -6/+4 | |
| It has `Backend` and `Deref` boudns, plus an associated type `CodegenCx`, and it has a single use. This commit "inlines" it into `BuilderMethods`, which makes the complicated backend trait situation a little simpler. | ||||
| 2024-09-14 | simd_shuffle: require index argument to be a vector | Ralf Jung | -27/+12 | |
| 2024-08-13 | make the GCC backend compatible with vector shuffle indices | Ralf Jung | -14/+30 | |
| 2024-08-05 | nontemporal_store: make sure that the intrinsic is truly just a hint | Ralf Jung | -0/+2 | |
| 2024-07-29 | Reformat `use` declarations. | Nicholas Nethercote | -3/+2 | |
| The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options. | ||||
| 2024-07-17 | Format cg_gcc with same formatting parameters | Guillaume Gomez | -15/+3 | |
| 2024-07-10 | Update `Cargo.lock` and remove duplicated impl | Guillaume Gomez | -6/+0 | |
| 2024-07-10 | Merge commit '98ed962c7d3eebe12c97588e61245273d265e72f' into master | Guillaume Gomez | -41/+85 | |
| 2024-05-09 | codegen: memmove/memset cannot be non-temporal | Ralf Jung | -9/+4 | |
