rust/compiler/rustc_middle/src/mir
bors ae7b1c1916 Auto merge of #127442 - saethlin:alloc-decoding-lock, r=oli-obk
Try to fix ICE from re-interning an AllocId with different allocation contents

As far as I can tell, based on my investigation in https://github.com/rust-lang/rust/issues/126741, the racy decoding scheme implemented here was never fully correct, but the arrangement of Allocations that's required to ICE the compiler requires some very specific MIR optimizations to create. As far as I can tell, GVN likes to create the problematic pattern, which is why we're noticing this problem now.

So the solution here is to not do racy decoding. If two threads race to decoding an AllocId, one of them is going to sit on a lock until the other is done.
2024-07-22 05:56:05 +00:00
..
interpret Auto merge of #127442 - saethlin:alloc-decoding-lock, r=oli-obk 2024-07-22 05:56:05 +00:00
basic_blocks.rs Remove extern crate rustc_macros from rustc_middle. 2024-04-29 11:19:16 +10:00
consts.rs ScalarInt: size mismatches are a bug, do not delay the panic 2024-06-10 13:43:16 +02:00
coverage.rs coverage: Restrict ExpressionUsed simplification to Code mappings 2024-07-15 20:54:28 +10:00
generic_graph.rs remove redundant imports 2023-12-10 10:56:22 +08:00
generic_graphviz.rs Rename WithNumEdges => NumEdges and WithStartNode => StartNode 2024-04-14 15:51:29 +00:00
graphviz.rs Rename InstanceDef -> InstanceKind 2024-06-16 21:35:21 -04:00
mod.rs coverage: Rename mir::coverage::BranchInfo to CoverageInfoHi 2024-07-05 13:53:05 +10:00
mono.rs Rename InstanceDef -> InstanceKind 2024-06-16 21:35:21 -04:00
patch.rs Remove #[macro_use] extern crate tracing from rustc_middle. 2024-05-23 18:02:40 +10:00
pretty.rs Rollup merge of #126502 - cuviper:dump-mir-exclude-alloc-bytes, r=estebank 2024-07-12 13:47:05 -07:00
query.rs Handle universe leaks by rewriting the constraint graph 2024-07-01 10:39:42 +02:00
statement.rs Convert some module-level // and /// comments to //!. 2024-06-20 09:23:18 +10:00
syntax.rs Fix conflicts after rebase 2024-07-07 18:16:38 +02:00
tcx.rs Add a pointee_metadata_ty_or_projection helper 2024-06-22 20:27:08 -07:00
terminator.rs Support tail calls in mir via TerminatorKind::TailCall 2024-07-07 17:11:04 +02:00
traversal.rs Only collect mono items from reachable blocks 2024-04-07 14:36:42 -04:00
type_foldable.rs Make DefiningAnchor::Bind only store the opaque types that may be constrained, instead of the current infcx root item. 2024-03-11 17:19:37 +00:00
visit.rs Stop using the gen keyword in the compiler 2024-07-14 14:01:01 -04:00