100 Commits
Author SHA1 Message Date
Camille Gillot 15c91bf308 Retire ast::TyAliasWhereClauses. 2025-10-23 00:40:01 +00:00
Camille Gillot 5dfbf67f94 Replace NullOp::SizeOf and NullOp::AlignOf by lang items. 2025-10-23 00:38:28 +00:00
Camille Gillot 0156eaf0d1 Introduce indexvec macro. 2025-10-22 00:52:52 +00:00
Camille Gillot 51275e82c9 Elaborate ShallowInitBox too. 2025-10-22 00:52:52 +00:00
Camille Gillot 6abc50b394 Stop invalidating in CleanupPostBorrowck. 2025-10-20 21:34:46 +00:00
Camille Gillot a1e42f96f6 Simplify new_local. 2025-10-19 02:22:18 +00:00
Camille Gillot 0b02102dc0 Attempt to compress representation. 2025-10-17 21:20:50 +00:00
Camille Gillot 73264f21e9 Restrict drop to empty projections. 2025-10-17 21:00:12 +00:00
Camille Gillot 97f88f5603 Generalize the non-freeze and needs_drop handling. 2025-10-17 16:28:37 +00:00
Camille Gillot fb38d75ca5 Simplify implementation. 2025-10-15 21:47:10 +00:00
Camille Gillot 031929c369 deduced_param_attrs: check Freeze on monomorphic types. 2025-10-15 21:21:05 +00:00
Camille Gillot 04323227f4 Use regular Vec in BitSet. 2025-10-13 18:15:25 +00:00
Camille GILLOT 42ff1089ed Use an Arc to share caches between clones. 2025-10-12 15:17:59 +00:00
Camille GILLOT bd06903cd1 Inform RegionRenumberer that it preserves MIR CFG. 2025-10-12 15:17:59 +00:00
Camille Gillot be46a90a8b Bless x86_64 test. 2025-10-12 03:15:18 +00:00
Camille Gillot b198bf8060 Rebase fallout. 2025-10-11 20:56:10 +00:00
Camille GILLOT 918b2d88e9 Diagnose liveness on MIR. 2025-10-11 20:50:21 +00:00
Camille Gillot 49922d5b96 Remove unreachable expression warning from std. 2025-10-11 20:50:21 +00:00
Camille Gillot 4419d890c6 Bless ui asm. 2025-10-11 20:50:21 +00:00
Camille GILLOT f216ec23ba Silence warning in miri tests. 2025-10-11 20:50:21 +00:00
Camille GILLOT 72a04a7e0a Silence warning in r-a. 2025-10-11 20:50:21 +00:00
Camille Gillot c653430714 Suggest unit struct and constants. 2025-10-11 20:50:21 +00:00
Camille GILLOT ca0379d6cd Diagnose liveness on MIR. 2025-10-11 20:50:21 +00:00
Camille Gillot 96b70fc3a1 Always compile hir_id_validator.
Making this compilation conditional causes an unused crate dependency
warning.
2025-10-11 20:50:21 +00:00
Camille GILLOT 89191084d5 Correct binding scope when building MIR. 2025-10-11 20:50:20 +00:00
Camille GILLOT f2535764d4 Introduce VarBindingIntroduction. 2025-10-11 20:50:20 +00:00
Camille GILLOT 9df2003860 Record for each MIR local where it has been introduced. 2025-10-11 20:50:20 +00:00
Camille GILLOT aacf9a612a Add test for uninhabited std::mem::uninitialized uses. 2025-10-11 20:50:20 +00:00
Camille GILLOT 5620c82e53 Report uninhabited call return types on MIR. 2025-10-11 20:50:20 +00:00
Camille Gillot 15575602da Remove StatementKind::Deinit. 2025-10-10 12:57:24 +00:00
Camille Gillot b7c2b3dc80 Remove StatementKind::Deinit. 2025-10-10 12:57:24 +00:00
Camille Gillot 6d800ae35b Renumber locals after state transform. 2025-10-09 16:28:44 +00:00
Camille Gillot 1ad657ed5f Simplify TransformVisitor. 2025-10-09 13:57:33 +00:00
Camille Gillot 513c9b7b86 Add debugging instrumentation. 2025-10-09 13:43:25 +00:00
Camille Gillot c3432bbec0 Explicit comment. 2025-10-09 11:51:17 +00:00
Camille Gillot 5702fbf03d Refactor AddCallGuards in two loops. 2025-10-08 19:44:56 +00:00
Camille Gillot 2533f78d62 Reorder passes. 2025-10-08 15:24:44 +00:00
Camille Gillot 973ddd8bc7 Do not invalidate CFG caches in CtfeLimit. 2025-10-08 15:03:43 +00:00
Camille Gillot 5da52f57c5 Evaluate constants lazily in GVN. 2025-10-08 12:23:31 +00:00
Camille Gillot 96c3978eaa Repurpose defunct test. 2025-10-06 19:32:32 +00:00
Camille Gillot 5407eb8ca2 GVN: Support unions. 2025-10-06 19:31:40 +00:00
Camille Gillot 94b2c303aa Use traversal::postorder. 2025-10-04 17:02:08 +00:00
Camille Gillot 1ac5d4c278 Create resume block later. 2025-10-04 16:59:04 +00:00
Camille Gillot cf341eac19 Refactor remove_noop_landing_pads in two loops. 2025-10-04 16:59:04 +00:00
Camille GILLOT 3d96e54656 Use a VnIndex in Address projection. 2025-10-04 16:36:52 +00:00
Camille GILLOT 11802781f7 Make Value Copy by arena-allocating vectors. 2025-10-04 16:36:52 +00:00
Camille Gillot 599e8db838 Use MirPatch in simplify_branches. 2025-09-28 19:52:28 +00:00
Camille Gillot 7a7cb05f11 Do not validate MIR if code does not type-check. 2025-09-28 15:59:21 +00:00
Camille Gillot d13a5b0a6c Handle self-loops too. 2025-09-26 20:44:06 +00:00
Camille Gillot 1a37374973 JumpThreading: Avoid computing dominators to identify loop headers. 2025-09-26 00:07:53 +00:00
Camille Gillotandlcnr ce677c7db8 Update compiler/rustc_mir_transform/src/patch.rs
Co-authored-by: lcnr <rust@lcnr.de>
2025-09-23 20:38:38 -03:00
Camille Gillot 3934fc9eb2 Consider errors in MIR as impossible predicates. 2025-09-21 03:26:21 +00:00
Camille Gillot 3c232fe38f Make term_patch_map sparse. 2025-09-20 13:53:58 +00:00
Camille Gillot b216cf34b1 Avoid invalidating from MirPatch::apply. 2025-09-18 01:09:53 +00:00
Camille Gillot 912785d966 Lint overlapping assignments in MIR. 2025-09-17 21:12:17 +00:00
Camille Gillot eddd755f28 Bless ui. 2025-09-16 22:58:54 +00:00
Camille Gillot fe3a784ef2 Do not renumber resume local. 2025-09-16 22:50:32 +00:00
Camille Gillot 40d879a47f Add test. 2025-09-16 22:50:32 +00:00
Camille Gillot de73af9ec4 Add test. 2025-09-16 22:44:35 +00:00
Camille Gillot 4516fee8cb Remove Rvalue::Len. 2025-09-16 22:23:19 +00:00
Camille Gillot f018b46558 Update docs. 2025-09-16 22:23:19 +00:00
Camille Gillot 53b91ea87f Remove Rvalue::Len. 2025-09-16 22:23:19 +00:00
Camille GILLOT 44c1a00a2f Enable DestinationPropagation by default. 2025-09-16 22:08:02 +00:00
Camille Gillot d58061e613 Restrict simple assignment condition. 2025-09-16 01:22:10 +00:00
Camille Gillot 8811344f22 Elaborate comment. 2025-09-14 13:27:46 +00:00
Camille Gillot df04be8cf7 Comment. 2025-09-14 13:23:32 +00:00
Camille Gillot aee7d703c5 Mark reads in statements to avoid overlapping assingments. 2025-09-13 18:07:22 +00:00
Camille Gillot d51aec7781 Add test. 2025-09-13 17:36:46 +00:00
Camille Gillot 0a911ec97f Stop counting opaques. 2025-09-13 17:14:04 +00:00
Camille Gillot 7f34f6e25f Do not hash opaques in GVN. 2025-09-13 17:14:04 +00:00
Camille Gillot 3d0eda7af8 Introduce ValueSet. 2025-09-13 17:14:04 +00:00
Camille Gillot 5d0e66d451 Use rustc_data_structures::union_find. 2025-09-07 16:46:34 +00:00
Camille Gillot 28ff5cf502 Simplify candidate collection. 2025-09-07 16:45:34 +00:00
Camille Gillot 99f6bcf380 Unify a source with all possible destinations. 2025-09-07 16:45:00 +00:00
Camille Gillot 4e9dd1b67b Do not use prepend to avoid quadratic behaviour. 2025-09-07 16:36:30 +00:00
Camille Gillot de7c633ee5 Simplify VisitPlacesWith. 2025-09-07 16:36:22 +00:00
Camille Gillot b9262bce67 Use regular MaybeLiveLocals. 2025-09-07 16:35:30 +00:00
Camille GILLOT 9b8a719ae4 Reimplement DestinationPropagation according to live ranges. 2025-09-07 16:24:46 +00:00
Camille GILLOT 2ff92e83af Introduce fast insertion at extremities to IntervalSet. 2025-09-07 16:06:40 +00:00
Camille GILLOT 91241a1d25 Ensure indirect is first projection in try_as_place. 2025-09-07 13:55:01 +00:00
Camille GILLOT 4e7a068c9a Introduce PlaceContext::may_observe_address. 2025-09-07 13:51:53 +00:00
Camille GILLOT 52f74a5162 Allow simplifying aggregates if LHS is not a simple local. 2025-09-07 03:23:23 +00:00
Camille Gillot 9c9a89a18a Update documentation. 2025-08-24 22:15:19 +00:00
Camille GILLOT 262c8c9238 Remove chunk size from each chunk. 2025-08-23 17:56:37 +00:00
Camille Gillot 0327e2b87e Bless rustdoc-ui. 2025-08-22 20:31:24 +00:00
Camille Gillot 7494d927cb Fix stderr normalization. 2025-08-22 20:10:27 +00:00
Camille Gillot 9fe0b28db2 Simplify implementation. 2025-08-22 20:10:27 +00:00
Camille Gillot a3c878f813 Separate transmute checking from typeck. 2025-08-22 20:10:27 +00:00
Camille Gillot 689171d38e Uplift rustc_mir_transform::coverage::counters::union_find to rustc_data_structures. 2025-08-22 02:22:51 +00:00
Camille Gillot e5bd01b533 Correct comments. 2025-08-21 23:59:20 +00:00
Camille GILLOT 37e7f52876 Introduce ProjectionElem::try_map. 2025-08-21 02:06:21 +00:00
Camille Gillot f35d001325 Visit and print async_fut local for async drop. 2025-08-16 18:26:27 +00:00
Camille Gillot 1460cfe8ea Only unpack span data once. 2025-08-16 18:09:26 +00:00
Camille GILLOT 9cd0bf27d8 Only scan each definition once. 2025-08-16 16:28:17 +00:00
Camille Gillot a84373085e Simplify span_data_to_lines_and_cols. 2025-08-16 16:23:21 +00:00
Camille Gillot 6c15339017 Simplify decode_span. 2025-08-16 16:21:23 +00:00
Camille GILLOT 6dcc8617d3 Fix doc-comment. 2025-08-10 23:01:45 +00:00
Camille Gillot ebd60b9b8f Do not flatten derefs with ProjectionElem::Index. 2025-08-07 23:34:15 +00:00
Camille Gillot 8a87857320 Add test. 2025-08-07 23:32:53 +00:00
Camille GILLOT 6b7f8fbcc5 Promote crash test. 2025-08-05 01:55:20 +00:00