Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
d5e6b6f
core: simplify `Extend` for tuples
joboet Mar 21, 2025
af66ece
Add tests for `Extend<(T, U)> for (ExtendT, ExtendU)`
steffahn Feb 22, 2025
6eef285
Add an ACP list item to the library tracking issue template
tgross35 Oct 1, 2025
8fcb7e1
extended doc comment
Kivooeo Oct 1, 2025
3e26e2a
Don't unconditionally build alloc for `no-std` targets
jyn514 Sep 24, 2025
608c661
fix msvc enum summary
Walnut356 Sep 30, 2025
c33b667
Hoist stranded `use` declarations
Zalathar Oct 6, 2025
b97bdcb
Extract query-method inner functions to `query::inner`
Zalathar Oct 8, 2025
cb0c092
Prepare `define_feedable!` for code extraction
Zalathar Oct 6, 2025
a282336
Extract most code from `define_feedable!`
Zalathar Oct 6, 2025
4b6bc9a
Update wasm-component-ld to 0.5.18
alexcrichton Oct 8, 2025
0abecda
Replace `LLVMRustContextCreate` with normal LLVM-C API calls
AMS21 Oct 10, 2025
dff4561
Fix documentation of Instant::now on mac
stepancheg Oct 10, 2025
029579d
Change int-to-ptr transmute lowering back to inttoptr
saethlin Oct 9, 2025
340702c
write x.py's help for saving output time
Shunpoco Sep 17, 2025
cc96d3f
Adjust the Arm targets in CI to reflect latest changes
thejpster Oct 11, 2025
51a73a0
Rollup merge of #138799 - joboet:extend-tuple, r=Mark-Simulacrum
Zalathar Oct 12, 2025
21a58d7
Rollup merge of #146692 - Shunpoco:issue-141903, r=Mark-Simulacrum
Zalathar Oct 12, 2025
2190658
Rollup merge of #147168 - jyn514:no-alloc, r=Mark-Simulacrum
Zalathar Oct 12, 2025
9919b7d
Rollup merge of #147178 - Walnut356:msvc_enum_summary, r=Mark-Simulacrum
Zalathar Oct 12, 2025
194fd52
Rollup merge of #147240 - tgross35:tracking-template, r=Mark-Simulacrum
Zalathar Oct 12, 2025
e8bd0c6
Rollup merge of #147246 - Kivooeo:btree-map-split-off-doc, r=Mark-Sim…
Zalathar Oct 12, 2025
b28a3cd
Rollup merge of #147393 - Zalathar:feed, r=cjgillot
Zalathar Oct 12, 2025
f8f181d
Rollup merge of #147495 - alexcrichton:update-wasm-component-ld, r=Ma…
Zalathar Oct 12, 2025
67b6951
Rollup merge of #147503 - stepancheg:instant-now-mac-doc, r=joboet
Zalathar Oct 12, 2025
0fb3d50
Rollup merge of #147541 - saethlin:transmute-carefully, r=scottmcm
Zalathar Oct 12, 2025
ba431a9
Rollup merge of #147549 - AMS21:remove_llvm_rust_context_create, r=Za…
Zalathar Oct 12, 2025
55d093b
Rollup merge of #147596 - thejpster:build-new-arm-tier2-targets, r=Ma…
Zalathar Oct 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/library_tracking_issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ If the feature is changed later, please add those PRs here as well.

(Remember to update the `S-tracking-*` label when checking boxes.)

- [ ] ACP: rust-lang/libs-team#...
- [ ] Implementation: #...
- [ ] Final comment period (FCP)[^1]
- [ ] Stabilization PR
Expand Down
87 changes: 51 additions & 36 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,7 @@ dependencies = [
"iana-time-zone",
"num-traits",
"serde",
"windows-link",
"windows-link 0.1.3",
]

[[package]]
Expand Down Expand Up @@ -6058,9 +6058,9 @@ dependencies = [

[[package]]
name = "wasi-preview1-component-adapter-provider"
version = "36.0.1"
version = "37.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20689c88791776219f78c2529700d15e6a9bd57a27858c62e9ef8487956b571c"
checksum = "8d0fcd636ad2b29a7c0490799a23ad61d1c8dedfafdb970447fddd0549502b60"

[[package]]
name = "wasm-bindgen"
Expand Down Expand Up @@ -6122,19 +6122,19 @@ dependencies = [

[[package]]
name = "wasm-component-ld"
version = "0.5.17"
version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c9208f87cac2332fd80dcf36d54e9163d3446e28301e0c6e424984425738984"
checksum = "11f565dfcfd9aabb10d865b608a92ce1f93051aeb56f4c89550ed9cd97d8ce0e"
dependencies = [
"anyhow",
"clap",
"lexopt",
"libc",
"tempfile",
"wasi-preview1-component-adapter-provider",
"wasmparser 0.239.0",
"wasmparser 0.240.0",
"wat",
"windows-sys 0.60.2",
"windows-sys 0.61.2",
"winsplit",
"wit-component",
"wit-parser",
Expand All @@ -6159,24 +6159,24 @@ dependencies = [

[[package]]
name = "wasm-encoder"
version = "0.239.0"
version = "0.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5be00faa2b4950c76fe618c409d2c3ea5a3c9422013e079482d78544bb2d184c"
checksum = "06d642d8c5ecc083aafe9ceb32809276a304547a3a6eeecceb5d8152598bc71f"
dependencies = [
"leb128fmt",
"wasmparser 0.239.0",
"wasmparser 0.240.0",
]

[[package]]
name = "wasm-metadata"
version = "0.239.0"
version = "0.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20b3ec880a9ac69ccd92fbdbcf46ee833071cf09f82bb005b2327c7ae6025ae2"
checksum = "ee093e1e1ccffa005b9b778f7a10ccfd58e25a20eccad294a1a93168d076befb"
dependencies = [
"anyhow",
"indexmap",
"wasm-encoder 0.239.0",
"wasmparser 0.239.0",
"wasm-encoder 0.240.0",
"wasmparser 0.240.0",
]

[[package]]
Expand All @@ -6201,9 +6201,9 @@ dependencies = [

[[package]]
name = "wasmparser"
version = "0.239.0"
version = "0.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8c9d90bb93e764f6beabf1d02028c70a2156a6583e63ac4218dd07ef733368b0"
checksum = "b722dcf61e0ea47440b53ff83ccb5df8efec57a69d150e4f24882e4eba7e24a4"
dependencies = [
"bitflags",
"hashbrown",
Expand All @@ -6214,22 +6214,22 @@ dependencies = [

[[package]]
name = "wast"
version = "239.0.0"
version = "240.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9139176fe8a2590e0fb174cdcaf373b224cb93c3dde08e4297c1361d2ba1ea5d"
checksum = "b0efe1c93db4ac562b9733e3dca19ed7fc878dba29aef22245acf84f13da4a19"
dependencies = [
"bumpalo",
"leb128fmt",
"memchr",
"unicode-width 0.2.1",
"wasm-encoder 0.239.0",
"wasm-encoder 0.240.0",
]

[[package]]
name = "wat"
version = "1.239.0"
version = "1.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e1c941927d34709f255558166f8901a2005f8ab4a9650432e9281b7cc6f3b75"
checksum = "4ec9b6eab7ecd4d639d78515e9ea491c9bacf494aa5eda10823bd35992cf8c1e"
dependencies = [
"wast",
]
Expand Down Expand Up @@ -6294,7 +6294,7 @@ dependencies = [
"windows-collections",
"windows-core 0.61.2",
"windows-future",
"windows-link",
"windows-link 0.1.3",
"windows-numerics",
]

Expand Down Expand Up @@ -6339,7 +6339,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
"windows-implement 0.60.0",
"windows-interface 0.59.1",
"windows-link",
"windows-link 0.1.3",
"windows-result 0.3.4",
"windows-strings 0.4.2",
]
Expand All @@ -6351,7 +6351,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
dependencies = [
"windows-core 0.61.2",
"windows-link",
"windows-link 0.1.3",
"windows-threading",
]

Expand Down Expand Up @@ -6405,14 +6405,20 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"

[[package]]
name = "windows-link"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"

[[package]]
name = "windows-numerics"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
dependencies = [
"windows-core 0.61.2",
"windows-link",
"windows-link 0.1.3",
]

[[package]]
Expand All @@ -6430,7 +6436,7 @@ version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
"windows-link",
"windows-link 0.1.3",
]

[[package]]
Expand All @@ -6449,7 +6455,7 @@ version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
"windows-link",
"windows-link 0.1.3",
]

[[package]]
Expand Down Expand Up @@ -6479,6 +6485,15 @@ dependencies = [
"windows-targets 0.53.3",
]

[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link 0.2.1",
]

[[package]]
name = "windows-targets"
version = "0.52.6"
Expand All @@ -6501,7 +6516,7 @@ version = "0.53.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
dependencies = [
"windows-link",
"windows-link 0.1.3",
"windows_aarch64_gnullvm 0.53.0",
"windows_aarch64_msvc 0.53.0",
"windows_i686_gnu 0.53.0",
Expand All @@ -6518,7 +6533,7 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
dependencies = [
"windows-link",
"windows-link 0.1.3",
]

[[package]]
Expand Down Expand Up @@ -6652,9 +6667,9 @@ dependencies = [

[[package]]
name = "wit-component"
version = "0.239.0"
version = "0.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88a866b19dba2c94d706ec58c92a4c62ab63e482b4c935d2a085ac94caecb136"
checksum = "7dc5474b078addc5fe8a72736de8da3acfb3ff324c2491133f8b59594afa1a20"
dependencies = [
"anyhow",
"bitflags",
Expand All @@ -6663,17 +6678,17 @@ dependencies = [
"serde",
"serde_derive",
"serde_json",
"wasm-encoder 0.239.0",
"wasm-encoder 0.240.0",
"wasm-metadata",
"wasmparser 0.239.0",
"wasmparser 0.240.0",
"wit-parser",
]

[[package]]
name = "wit-parser"
version = "0.239.0"
version = "0.240.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55c92c939d667b7bf0c6bf2d1f67196529758f99a2a45a3355cc56964fd5315d"
checksum = "9875ea3fa272f57cc1fc50f225a7b94021a7878c484b33792bccad0d93223439"
dependencies = [
"anyhow",
"id-arena",
Expand All @@ -6684,7 +6699,7 @@ dependencies = [
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser 0.239.0",
"wasmparser 0.240.0",
]

[[package]]
Expand Down
11 changes: 8 additions & 3 deletions compiler/rustc_codegen_llvm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ use rustc_session::config::{OptLevel, OutputFilenames, PrintKind, PrintRequest};
use rustc_span::Symbol;
use rustc_target::spec::{RelocModel, TlsModel};

use crate::llvm::ToLlvmBool;

mod abi;
mod allocator;
mod asm;
Expand Down Expand Up @@ -384,7 +386,8 @@ unsafe impl Sync for ModuleLlvm {}
impl ModuleLlvm {
fn new(tcx: TyCtxt<'_>, mod_name: &str) -> Self {
unsafe {
let llcx = llvm::LLVMRustContextCreate(tcx.sess.fewer_names());
let llcx = llvm::LLVMContextCreate();
llvm::LLVMContextSetDiscardValueNames(llcx, tcx.sess.fewer_names().to_llvm_bool());
let llmod_raw = context::create_module(tcx, llcx, mod_name) as *const _;
ModuleLlvm {
llmod_raw,
Expand All @@ -396,7 +399,8 @@ impl ModuleLlvm {

fn new_metadata(tcx: TyCtxt<'_>, mod_name: &str) -> Self {
unsafe {
let llcx = llvm::LLVMRustContextCreate(tcx.sess.fewer_names());
let llcx = llvm::LLVMContextCreate();
llvm::LLVMContextSetDiscardValueNames(llcx, tcx.sess.fewer_names().to_llvm_bool());
let llmod_raw = context::create_module(tcx, llcx, mod_name) as *const _;
ModuleLlvm {
llmod_raw,
Expand Down Expand Up @@ -427,7 +431,8 @@ impl ModuleLlvm {
dcx: DiagCtxtHandle<'_>,
) -> Self {
unsafe {
let llcx = llvm::LLVMRustContextCreate(cgcx.fewer_names);
let llcx = llvm::LLVMContextCreate();
llvm::LLVMContextSetDiscardValueNames(llcx, cgcx.fewer_names.to_llvm_bool());
let llmod_raw = back::lto::parse_module(llcx, name, buffer, dcx);
let tm = ModuleLlvm::tm_from_cgcx(cgcx, name.to_str().unwrap(), dcx);

Expand Down
5 changes: 2 additions & 3 deletions compiler/rustc_codegen_llvm/src/llvm/ffi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -905,7 +905,9 @@ pub(crate) type GetSymbolsErrorCallback = unsafe extern "C" fn(*const c_char) ->

unsafe extern "C" {
// Create and destroy contexts.
pub(crate) fn LLVMContextCreate() -> &'static mut Context;
pub(crate) fn LLVMContextDispose(C: &'static mut Context);
pub(crate) fn LLVMContextSetDiscardValueNames(C: &Context, Discard: Bool);
pub(crate) fn LLVMGetMDKindIDInContext(
C: &Context,
Name: *const c_char,
Expand Down Expand Up @@ -1925,9 +1927,6 @@ unsafe extern "C" {
pub(crate) fn LLVMRustInstallErrorHandlers();
pub(crate) fn LLVMRustDisableSystemDialogsOnCrash();

// Create and destroy contexts.
pub(crate) fn LLVMRustContextCreate(shouldDiscardNames: bool) -> &'static mut Context;

// Operations on all values
pub(crate) fn LLVMRustGlobalAddMetadata<'a>(
Val: &'a Value,
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_codegen_ssa/src/mir/rvalue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1010,14 +1010,14 @@ pub(super) fn transmute_scalar<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>(
imm = match (from_scalar.primitive(), to_scalar.primitive()) {
(Int(..) | Float(_), Int(..) | Float(_)) => bx.bitcast(imm, to_backend_ty),
(Pointer(..), Pointer(..)) => bx.pointercast(imm, to_backend_ty),
(Int(..), Pointer(..)) => bx.ptradd(bx.const_null(bx.type_ptr()), imm),
(Int(..), Pointer(..)) => bx.inttoptr(imm, to_backend_ty),
(Pointer(..), Int(..)) => {
// FIXME: this exposes the provenance, which shouldn't be necessary.
bx.ptrtoint(imm, to_backend_ty)
}
(Float(_), Pointer(..)) => {
let int_imm = bx.bitcast(imm, bx.cx().type_isize());
bx.ptradd(bx.const_null(bx.type_ptr()), int_imm)
bx.inttoptr(int_imm, to_backend_ty)
}
(Pointer(..), Float(_)) => {
// FIXME: this exposes the provenance, which shouldn't be necessary.
Expand Down
6 changes: 0 additions & 6 deletions compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,6 @@ extern "C" void LLVMRustSetLastError(const char *Err) {
LastError = strdup(Err);
}

extern "C" LLVMContextRef LLVMRustContextCreate(bool shouldDiscardNames) {
auto ctx = new LLVMContext();
ctx->setDiscardValueNames(shouldDiscardNames);
return wrap(ctx);
}

extern "C" void LLVMRustSetNormalizedTarget(LLVMModuleRef M,
const char *Target) {
#if LLVM_VERSION_GE(21, 0)
Expand Down
Loading
Loading