Replace mir_map.0
dump with built
phase change dump
This commit is contained in:
parent
36285c5de8
commit
c4c4c566d0
52 changed files with 136 additions and 112 deletions
|
@ -288,7 +288,7 @@ fn mir_const<'tcx>(
|
||||||
|
|
||||||
let mut body = tcx.mir_built(def).steal();
|
let mut body = tcx.mir_built(def).steal();
|
||||||
|
|
||||||
rustc_middle::mir::dump_mir(tcx, None, "mir_map", &0, &body, |_, _| Ok(()));
|
pass_manager::dump_mir_for_phase_change(tcx, &body);
|
||||||
|
|
||||||
pm::run_passes(
|
pm::run_passes(
|
||||||
tcx,
|
tcx,
|
||||||
|
|
|
@ -845,7 +845,7 @@ pub fn build_adt_ctor(tcx: TyCtxt<'_>, ctor_id: DefId) -> Body<'_> {
|
||||||
span,
|
span,
|
||||||
);
|
);
|
||||||
|
|
||||||
rustc_middle::mir::dump_mir(tcx, None, "mir_map", &0, &body, |_, _| Ok(()));
|
crate::pass_manager::dump_mir_for_phase_change(tcx, &body);
|
||||||
|
|
||||||
body
|
body
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `full_tested_match` after PromoteTemps
|
// MIR for `full_tested_match` after built
|
||||||
|
|
||||||
fn full_tested_match() -> () {
|
fn full_tested_match() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:28: +0:28
|
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:28: +0:28
|
||||||
|
@ -12,7 +12,6 @@ fn full_tested_match() -> () {
|
||||||
let mut _8: i32; // in scope 0 at $DIR/match_false_edges.rs:+2:35: +2:36
|
let mut _8: i32; // in scope 0 at $DIR/match_false_edges.rs:+2:35: +2:36
|
||||||
let _9: i32; // in scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
let _9: i32; // in scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
||||||
let mut _10: i32; // in scope 0 at $DIR/match_false_edges.rs:+3:24: +3:25
|
let mut _10: i32; // in scope 0 at $DIR/match_false_edges.rs:+3:24: +3:25
|
||||||
let mut _11: &std::option::Option<i32>; // in scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
|
||||||
scope 1 {
|
scope 1 {
|
||||||
}
|
}
|
||||||
scope 2 {
|
scope 2 {
|
||||||
|
@ -34,7 +33,7 @@ fn full_tested_match() -> () {
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
|
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+4:17: +4:23
|
||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
|
@ -42,7 +41,7 @@ fn full_tested_match() -> () {
|
||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
falseEdge -> [real: bb9, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:16
|
falseEdge -> [real: bb10, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
|
@ -51,14 +50,10 @@ fn full_tested_match() -> () {
|
||||||
|
|
||||||
bb5: {
|
bb5: {
|
||||||
StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
StorageLive(_6); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
||||||
_11 = const _; // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
_6 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
||||||
// mir::Constant
|
|
||||||
// + span: $DIR/match_false_edges.rs:14:14: 14:15
|
|
||||||
// + literal: Const { ty: &Option<i32>, val: Unevaluated(full_tested_match, [], Some(promoted[0])) }
|
|
||||||
_6 = &(((*_11) as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
|
||||||
_4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
|
_4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
|
||||||
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
_7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
_7 = guard() -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/match_false_edges.rs:14:20: 14:25
|
// + span: $DIR/match_false_edges.rs:14:20: 14:25
|
||||||
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
||||||
|
@ -80,16 +75,20 @@ fn full_tested_match() -> () {
|
||||||
StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb8: {
|
||||||
|
goto -> bb9; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
|
}
|
||||||
|
|
||||||
|
bb9: {
|
||||||
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
|
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
|
||||||
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
goto -> bb3; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
goto -> bb3; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
}
|
}
|
||||||
|
|
||||||
bb9: {
|
bb10: {
|
||||||
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
||||||
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
_9 = ((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+3:14: +3:15
|
||||||
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:+3:24: +3:25
|
StorageLive(_10); // scope 3 at $DIR/match_false_edges.rs:+3:24: +3:25
|
||||||
|
@ -97,17 +96,17 @@ fn full_tested_match() -> () {
|
||||||
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:+3:20: +3:26
|
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:+3:20: +3:26
|
||||||
StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:+3:25: +3:26
|
StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:+3:25: +3:26
|
||||||
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
|
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+3:25: +3:26
|
||||||
}
|
}
|
||||||
|
|
||||||
bb10: {
|
bb11: {
|
||||||
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
||||||
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
||||||
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:28: +6:2
|
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:28: +6:2
|
||||||
return; // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
|
return; // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
|
||||||
}
|
}
|
||||||
|
|
||||||
bb11 (cleanup): {
|
bb12 (cleanup): {
|
||||||
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
|
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `full_tested_match2` before PromoteTemps
|
// MIR for `full_tested_match2` after built
|
||||||
|
|
||||||
fn full_tested_match2() -> () {
|
fn full_tested_match2() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:29: +0:29
|
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:29: +0:29
|
||||||
|
@ -32,7 +32,7 @@ fn full_tested_match2() -> () {
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
falseEdge -> [real: bb9, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:13
|
falseEdge -> [real: bb10, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:13
|
||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
|
@ -47,7 +47,7 @@ fn full_tested_match2() -> () {
|
||||||
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:+4:20: +4:26
|
_1 = (const 2_i32, move _10); // scope 3 at $DIR/match_false_edges.rs:+4:20: +4:26
|
||||||
StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:+4:25: +4:26
|
StorageDead(_10); // scope 3 at $DIR/match_false_edges.rs:+4:25: +4:26
|
||||||
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
|
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+4:25: +4:26
|
||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb4: {
|
||||||
|
@ -59,7 +59,7 @@ fn full_tested_match2() -> () {
|
||||||
_6 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
_6 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:15
|
||||||
_4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
|
_4 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:27
|
||||||
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
_7 = guard() -> [return: bb6, unwind: bb11]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
_7 = guard() -> [return: bb6, unwind: bb12]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/match_false_edges.rs:25:20: 25:25
|
// + span: $DIR/match_false_edges.rs:25:20: 25:25
|
||||||
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
||||||
|
@ -81,28 +81,32 @@ fn full_tested_match2() -> () {
|
||||||
StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_8); // scope 2 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_5); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb8: {
|
||||||
|
goto -> bb9; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
|
}
|
||||||
|
|
||||||
|
bb9: {
|
||||||
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
|
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:26: +2:27
|
||||||
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:36: +2:37
|
||||||
falseEdge -> [real: bb3, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
falseEdge -> [real: bb3, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:20: +2:27
|
||||||
}
|
}
|
||||||
|
|
||||||
bb9: {
|
bb10: {
|
||||||
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
|
_1 = (const 3_i32, const 3_i32); // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
|
||||||
goto -> bb10; // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
|
goto -> bb11; // scope 0 at $DIR/match_false_edges.rs:+3:17: +3:23
|
||||||
}
|
}
|
||||||
|
|
||||||
bb10: {
|
bb11: {
|
||||||
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
||||||
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+5:6: +5:7
|
||||||
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:29: +6:2
|
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:29: +6:2
|
||||||
return; // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
|
return; // scope 0 at $DIR/match_false_edges.rs:+6:2: +6:2
|
||||||
}
|
}
|
||||||
|
|
||||||
bb11 (cleanup): {
|
bb12 (cleanup): {
|
||||||
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
|
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +6:2
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` before PromoteTemps
|
// MIR for `main` after built
|
||||||
|
|
||||||
fn main() -> () {
|
fn main() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:11: +0:11
|
let mut _0: (); // return place in scope 0 at $DIR/match_false_edges.rs:+0:11: +0:11
|
||||||
|
@ -43,41 +43,54 @@ fn main() -> () {
|
||||||
}
|
}
|
||||||
|
|
||||||
bb1: {
|
bb1: {
|
||||||
falseEdge -> [real: bb9, imaginary: bb4]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
falseEdge -> [real: bb13, imaginary: bb6]; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
||||||
}
|
}
|
||||||
|
|
||||||
bb2: {
|
bb2: {
|
||||||
falseEdge -> [real: bb5, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
|
falseEdge -> [real: bb8, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:9: +2:17
|
||||||
}
|
}
|
||||||
|
|
||||||
bb3: {
|
bb3: {
|
||||||
|
goto -> bb1; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:26
|
||||||
|
}
|
||||||
|
|
||||||
|
bb4: {
|
||||||
|
_3 = discriminant(_2); // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
|
||||||
|
switchInt(move _3) -> [1_isize: bb6, otherwise: bb5]; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:26
|
||||||
|
}
|
||||||
|
|
||||||
|
bb5: {
|
||||||
StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
|
StorageLive(_14); // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
|
||||||
_14 = _2; // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
|
_14 = _2; // scope 0 at $DIR/match_false_edges.rs:+5:9: +5:11
|
||||||
_1 = const 4_i32; // scope 5 at $DIR/match_false_edges.rs:+5:15: +5:16
|
_1 = const 4_i32; // scope 5 at $DIR/match_false_edges.rs:+5:15: +5:16
|
||||||
StorageDead(_14); // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
|
StorageDead(_14); // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
|
||||||
goto -> bb14; // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
|
goto -> bb19; // scope 0 at $DIR/match_false_edges.rs:+5:15: +5:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb4: {
|
bb6: {
|
||||||
falseEdge -> [real: bb10, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
|
falseEdge -> [real: bb14, imaginary: bb5]; // scope 0 at $DIR/match_false_edges.rs:+4:9: +4:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb5: {
|
bb7: {
|
||||||
|
goto -> bb5; // scope 0 at $DIR/match_false_edges.rs:+1:13: +1:26
|
||||||
|
}
|
||||||
|
|
||||||
|
bb8: {
|
||||||
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
|
StorageLive(_7); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
|
||||||
_7 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
|
_7 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+2:14: +2:16
|
||||||
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
|
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
|
||||||
StorageLive(_8); // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
StorageLive(_8); // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
||||||
_8 = guard() -> [return: bb6, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
_8 = guard() -> [return: bb9, unwind: bb20]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/match_false_edges.rs:34:21: 34:26
|
// + span: $DIR/match_false_edges.rs:34:21: 34:26
|
||||||
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
// + literal: Const { ty: fn() -> bool {guard}, val: Value(<ZST>) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb6: {
|
bb9: {
|
||||||
switchInt(move _8) -> [false: bb8, otherwise: bb7]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
switchInt(move _8) -> [false: bb11, otherwise: bb10]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
||||||
}
|
}
|
||||||
|
|
||||||
bb7: {
|
bb10: {
|
||||||
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
||||||
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
||||||
FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
FakeRead(ForGuardBinding, _7); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
||||||
|
@ -86,41 +99,45 @@ fn main() -> () {
|
||||||
_1 = const 1_i32; // scope 2 at $DIR/match_false_edges.rs:+2:32: +2:33
|
_1 = const 1_i32; // scope 2 at $DIR/match_false_edges.rs:+2:32: +2:33
|
||||||
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
StorageDead(_6); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
||||||
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
||||||
goto -> bb14; // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
goto -> bb19; // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
||||||
}
|
}
|
||||||
|
|
||||||
bb8: {
|
bb11: {
|
||||||
|
goto -> bb12; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
||||||
|
}
|
||||||
|
|
||||||
|
bb12: {
|
||||||
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
StorageDead(_8); // scope 0 at $DIR/match_false_edges.rs:+2:27: +2:28
|
||||||
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
StorageDead(_7); // scope 0 at $DIR/match_false_edges.rs:+2:32: +2:33
|
||||||
falseEdge -> [real: bb1, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
falseEdge -> [real: bb3, imaginary: bb1]; // scope 0 at $DIR/match_false_edges.rs:+2:21: +2:28
|
||||||
}
|
}
|
||||||
|
|
||||||
bb9: {
|
bb13: {
|
||||||
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
StorageLive(_9); // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
||||||
_9 = _2; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
_9 = _2; // scope 0 at $DIR/match_false_edges.rs:+3:9: +3:11
|
||||||
_1 = const 2_i32; // scope 3 at $DIR/match_false_edges.rs:+3:15: +3:16
|
_1 = const 2_i32; // scope 3 at $DIR/match_false_edges.rs:+3:15: +3:16
|
||||||
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
|
StorageDead(_9); // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
|
||||||
goto -> bb14; // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
|
goto -> bb19; // scope 0 at $DIR/match_false_edges.rs:+3:15: +3:16
|
||||||
}
|
}
|
||||||
|
|
||||||
bb10: {
|
bb14: {
|
||||||
StorageLive(_11); // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
|
StorageLive(_11); // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
|
||||||
_11 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
|
_11 = &((_2 as Some).0: i32); // scope 0 at $DIR/match_false_edges.rs:+4:14: +4:15
|
||||||
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
|
_5 = &shallow _2; // scope 0 at $DIR/match_false_edges.rs:+1:19: +1:26
|
||||||
StorageLive(_12); // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
StorageLive(_12); // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
||||||
StorageLive(_13); // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
|
StorageLive(_13); // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
|
||||||
_13 = (*_11); // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
|
_13 = (*_11); // scope 0 at $DIR/match_false_edges.rs:+4:27: +4:28
|
||||||
_12 = guard2(move _13) -> [return: bb11, unwind: bb15]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
_12 = guard2(move _13) -> [return: bb15, unwind: bb20]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
||||||
// mir::Constant
|
// mir::Constant
|
||||||
// + span: $DIR/match_false_edges.rs:36:20: 36:26
|
// + span: $DIR/match_false_edges.rs:36:20: 36:26
|
||||||
// + literal: Const { ty: fn(i32) -> bool {guard2}, val: Value(<ZST>) }
|
// + literal: Const { ty: fn(i32) -> bool {guard2}, val: Value(<ZST>) }
|
||||||
}
|
}
|
||||||
|
|
||||||
bb11: {
|
bb15: {
|
||||||
switchInt(move _12) -> [false: bb13, otherwise: bb12]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
switchInt(move _12) -> [false: bb17, otherwise: bb16]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
||||||
}
|
}
|
||||||
|
|
||||||
bb12: {
|
bb16: {
|
||||||
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
||||||
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
||||||
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
FakeRead(ForMatchGuard, _5); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
||||||
|
@ -130,24 +147,28 @@ fn main() -> () {
|
||||||
_1 = const 3_i32; // scope 4 at $DIR/match_false_edges.rs:+4:33: +4:34
|
_1 = const 3_i32; // scope 4 at $DIR/match_false_edges.rs:+4:33: +4:34
|
||||||
StorageDead(_10); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
StorageDead(_10); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
||||||
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
||||||
goto -> bb14; // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
goto -> bb19; // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
||||||
}
|
}
|
||||||
|
|
||||||
bb13: {
|
bb17: {
|
||||||
|
goto -> bb18; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
||||||
|
}
|
||||||
|
|
||||||
|
bb18: {
|
||||||
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
StorageDead(_13); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
||||||
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
StorageDead(_12); // scope 0 at $DIR/match_false_edges.rs:+4:28: +4:29
|
||||||
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
StorageDead(_11); // scope 0 at $DIR/match_false_edges.rs:+4:33: +4:34
|
||||||
falseEdge -> [real: bb3, imaginary: bb3]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
falseEdge -> [real: bb7, imaginary: bb5]; // scope 0 at $DIR/match_false_edges.rs:+4:20: +4:29
|
||||||
}
|
}
|
||||||
|
|
||||||
bb14: {
|
bb19: {
|
||||||
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
|
StorageDead(_2); // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
|
||||||
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
|
StorageDead(_1); // scope 0 at $DIR/match_false_edges.rs:+6:6: +6:7
|
||||||
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:11: +7:2
|
_0 = const (); // scope 0 at $DIR/match_false_edges.rs:+0:11: +7:2
|
||||||
return; // scope 0 at $DIR/match_false_edges.rs:+7:2: +7:2
|
return; // scope 0 at $DIR/match_false_edges.rs:+7:2: +7:2
|
||||||
}
|
}
|
||||||
|
|
||||||
bb15 (cleanup): {
|
bb20 (cleanup): {
|
||||||
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +7:2
|
resume; // scope 0 at $DIR/match_false_edges.rs:+0:1: +7:2
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -8,7 +8,7 @@ fn guard2(_: i32) -> bool {
|
||||||
|
|
||||||
// no_mangle to make sure this gets instantiated even in an executable.
|
// no_mangle to make sure this gets instantiated even in an executable.
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
// EMIT_MIR match_false_edges.full_tested_match.PromoteTemps.after.mir
|
// EMIT_MIR match_false_edges.full_tested_match.built.after.mir
|
||||||
pub fn full_tested_match() {
|
pub fn full_tested_match() {
|
||||||
let _ = match Some(42) {
|
let _ = match Some(42) {
|
||||||
Some(x) if guard() => (1, x),
|
Some(x) if guard() => (1, x),
|
||||||
|
@ -19,7 +19,7 @@ pub fn full_tested_match() {
|
||||||
|
|
||||||
// no_mangle to make sure this gets instantiated even in an executable.
|
// no_mangle to make sure this gets instantiated even in an executable.
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
// EMIT_MIR match_false_edges.full_tested_match2.PromoteTemps.before.mir
|
// EMIT_MIR match_false_edges.full_tested_match2.built.after.mir
|
||||||
pub fn full_tested_match2() {
|
pub fn full_tested_match2() {
|
||||||
let _ = match Some(42) {
|
let _ = match Some(42) {
|
||||||
Some(x) if guard() => (1, x),
|
Some(x) if guard() => (1, x),
|
||||||
|
@ -28,7 +28,7 @@ pub fn full_tested_match2() {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR match_false_edges.main.PromoteTemps.before.mir
|
// EMIT_MIR match_false_edges.main.built.after.mir
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = match Some(1) {
|
let _ = match Some(1) {
|
||||||
Some(_w) if guard() => 1,
|
Some(_w) if guard() => 1,
|
|
@ -12,7 +12,7 @@ static mut BAR: *const &i32 = [&Y].as_ptr();
|
||||||
// EMIT_MIR const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir
|
// EMIT_MIR const_promotion_extern_static.FOO-promoted[0].SimplifyCfg-elaborate-drops.after.mir
|
||||||
static mut FOO: *const &i32 = [unsafe { &X }].as_ptr();
|
static mut FOO: *const &i32 = [unsafe { &X }].as_ptr();
|
||||||
|
|
||||||
// EMIT_MIR const_promotion_extern_static.BOP.mir_map.0.mir
|
// EMIT_MIR const_promotion_extern_static.BOP.built.after.mir
|
||||||
static BOP: &i32 = &13;
|
static BOP: &i32 = &13;
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `BOP` 0 mir_map
|
// MIR for `BOP` after built
|
||||||
|
|
||||||
static BOP: &i32 = {
|
static BOP: &i32 = {
|
||||||
let mut _0: &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:13: +0:17
|
let mut _0: &i32; // return place in scope 0 at $DIR/const-promotion-extern-static.rs:+0:13: +0:17
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `bar` 0 mir_map
|
// MIR for `bar` after built
|
||||||
|
|
||||||
fn bar(_1: Bar) -> usize {
|
fn bar(_1: Bar) -> usize {
|
||||||
debug bar => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
debug bar => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `boo` 0 mir_map
|
// MIR for `boo` after built
|
||||||
|
|
||||||
fn boo(_1: Boo) -> usize {
|
fn boo(_1: Boo) -> usize {
|
||||||
debug boo => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
debug boo => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `droppy` 0 mir_map
|
// MIR for `droppy` after built
|
||||||
|
|
||||||
fn droppy() -> () {
|
fn droppy() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/enum_cast.rs:+0:13: +0:13
|
let mut _0: (); // return place in scope 0 at $DIR/enum_cast.rs:+0:13: +0:13
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `foo` 0 mir_map
|
// MIR for `foo` after built
|
||||||
|
|
||||||
fn foo(_1: Foo) -> usize {
|
fn foo(_1: Foo) -> usize {
|
||||||
debug foo => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
debug foo => _1; // in scope 0 at $DIR/enum_cast.rs:+0:8: +0:11
|
|
@ -1,6 +1,6 @@
|
||||||
// EMIT_MIR enum_cast.foo.mir_map.0.mir
|
// EMIT_MIR enum_cast.foo.built.after.mir
|
||||||
// EMIT_MIR enum_cast.bar.mir_map.0.mir
|
// EMIT_MIR enum_cast.bar.built.after.mir
|
||||||
// EMIT_MIR enum_cast.boo.mir_map.0.mir
|
// EMIT_MIR enum_cast.boo.built.after.mir
|
||||||
|
|
||||||
enum Foo {
|
enum Foo {
|
||||||
A
|
A
|
||||||
|
@ -27,7 +27,7 @@ fn boo(boo: Boo) -> usize {
|
||||||
boo as usize
|
boo as usize
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR enum_cast.droppy.mir_map.0.mir
|
// EMIT_MIR enum_cast.droppy.built.after.mir
|
||||||
enum Droppy {
|
enum Droppy {
|
||||||
A, B, C
|
A, B, C
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Test graphviz output
|
// Test graphviz output
|
||||||
// compile-flags: -Z dump-mir-graphviz
|
// compile-flags: -Z dump-mir-graphviz
|
||||||
|
|
||||||
// EMIT_MIR graphviz.main.mir_map.0.dot
|
// EMIT_MIR graphviz.main.built.after.dot
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// EMIT_MIR issue_101867.main.mir_map.0.mir
|
// EMIT_MIR issue_101867.main.built.after.mir
|
||||||
fn main() {
|
fn main() {
|
||||||
let x: Option<u8> = Some(1);
|
let x: Option<u8> = Some(1);
|
||||||
let Some(y) = x else {
|
let Some(y) = x else {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// We must mark a variable whose initialization fails due to an
|
// We must mark a variable whose initialization fails due to an
|
||||||
// abort statement as StorageDead.
|
// abort statement as StorageDead.
|
||||||
|
|
||||||
// EMIT_MIR issue_49232.main.mir_map.0.mir
|
// EMIT_MIR issue_49232.main.built.after.mir
|
||||||
fn main() {
|
fn main() {
|
||||||
loop {
|
loop {
|
||||||
let beacon = {
|
let beacon = {
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
enum Void {}
|
enum Void {}
|
||||||
|
|
||||||
// EMIT_MIR issue_72181_1.f.mir_map.0.mir
|
// EMIT_MIR issue_72181_1.f.built.after.mir
|
||||||
fn f(v: Void) -> ! {
|
fn f(v: Void) -> ! {
|
||||||
match v {}
|
match v {}
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR issue_72181_1.main.mir_map.0.mir
|
// EMIT_MIR issue_72181_1.main.built.after.mir
|
||||||
fn main() {
|
fn main() {
|
||||||
let v: Void = unsafe {
|
let v: Void = unsafe {
|
||||||
std::mem::transmute::<(), Void>(())
|
std::mem::transmute::<(), Void>(())
|
||||||
|
|
|
@ -12,14 +12,14 @@ union Foo {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// EMIT_MIR issue_72181.foo.mir_map.0.mir
|
// EMIT_MIR issue_72181.foo.built.after.mir
|
||||||
fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }
|
fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }
|
||||||
|
|
||||||
// EMIT_MIR issue_72181.bar.mir_map.0.mir
|
// EMIT_MIR issue_72181.bar.built.after.mir
|
||||||
fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }
|
fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }
|
||||||
|
|
||||||
|
|
||||||
// EMIT_MIR issue_72181.main.mir_map.0.mir
|
// EMIT_MIR issue_72181.main.built.after.mir
|
||||||
fn main() {
|
fn main() {
|
||||||
let _ = mem::size_of::<Foo>();
|
let _ = mem::size_of::<Foo>();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// compile-flags: -Z mir-opt-level=0
|
// compile-flags: -Z mir-opt-level=0
|
||||||
// EMIT_MIR issue_91633.hey.mir_map.0.mir
|
// EMIT_MIR issue_91633.hey.built.after.mir
|
||||||
fn hey<T> (it: &[T])
|
fn hey<T> (it: &[T])
|
||||||
where
|
where
|
||||||
[T] : std::ops::Index<usize>,
|
[T] : std::ops::Index<usize>,
|
||||||
|
@ -7,7 +7,7 @@ fn hey<T> (it: &[T])
|
||||||
let _ = &it[0];
|
let _ = &it[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR issue_91633.bar.mir_map.0.mir
|
// EMIT_MIR issue_91633.bar.built.after.mir
|
||||||
fn bar<T> (it: Box<[T]>)
|
fn bar<T> (it: Box<[T]>)
|
||||||
where
|
where
|
||||||
[T] : std::ops::Index<usize>,
|
[T] : std::ops::Index<usize>,
|
||||||
|
@ -15,14 +15,14 @@ fn bar<T> (it: Box<[T]>)
|
||||||
let _ = it[0];
|
let _ = it[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR issue_91633.fun.mir_map.0.mir
|
// EMIT_MIR issue_91633.fun.built.after.mir
|
||||||
fn fun<T> (it: &[T]) -> &T
|
fn fun<T> (it: &[T]) -> &T
|
||||||
{
|
{
|
||||||
let f = &it[0];
|
let f = &it[0];
|
||||||
f
|
f
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR issue_91633.foo.mir_map.0.mir
|
// EMIT_MIR issue_91633.foo.built.after.mir
|
||||||
fn foo<T: Clone> (it: Box<[T]>) -> T
|
fn foo<T: Clone> (it: Box<[T]>) -> T
|
||||||
{
|
{
|
||||||
let f = it[0].clone();
|
let f = it[0].clone();
|
||||||
|
|
|
@ -5,7 +5,7 @@ pub fn function_with_bytes<const BYTES: &'static [u8; 4]>() -> &'static [u8] {
|
||||||
BYTES
|
BYTES
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR issue_99325.main.mir_map.0.mir
|
// EMIT_MIR issue_99325.main.built.after.mir
|
||||||
pub fn main() {
|
pub fn main() {
|
||||||
assert_eq!(function_with_bytes::<b"AAAA">(), &[0x41, 0x41, 0x41, 0x41]);
|
assert_eq!(function_with_bytes::<b"AAAA">(), &[0x41, 0x41, 0x41, 0x41]);
|
||||||
assert_eq!(function_with_bytes::<{ &[0x41, 0x41, 0x41, 0x41] }>(), b"AAAA");
|
assert_eq!(function_with_bytes::<{ &[0x41, 0x41, 0x41, 0x41] }>(), b"AAAA");
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
| User Type Annotations
|
| User Type Annotations
|
||||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue-101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(std::option::Option<u8>) }, span: $DIR/issue-101867.rs:3:12: 3:22, inferred_ty: std::option::Option<u8>
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
fn main() -> () {
|
fn main() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/issue-49232.rs:+0:11: +0:11
|
let mut _0: (); // return place in scope 0 at $DIR/issue-49232.rs:+0:11: +0:11
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `bar` 0 mir_map
|
// MIR for `bar` after built
|
||||||
|
|
||||||
fn bar(_1: [(Never, u32); 1]) -> u32 {
|
fn bar(_1: [(Never, u32); 1]) -> u32 {
|
||||||
let mut _0: u32; // return place in scope 0 at $DIR/issue-72181.rs:+0:40: +0:43
|
let mut _0: u32; // return place in scope 0 at $DIR/issue-72181.rs:+0:40: +0:43
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `foo` 0 mir_map
|
// MIR for `foo` after built
|
||||||
|
|
||||||
fn foo(_1: [(Never, u32); 1]) -> u32 {
|
fn foo(_1: [(Never, u32); 1]) -> u32 {
|
||||||
debug xs => _1; // in scope 0 at $DIR/issue-72181.rs:+0:8: +0:10
|
debug xs => _1; // in scope 0 at $DIR/issue-72181.rs:+0:8: +0:10
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
fn main() -> () {
|
fn main() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/issue-72181.rs:+0:11: +0:11
|
let mut _0: (); // return place in scope 0 at $DIR/issue-72181.rs:+0:11: +0:11
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `f` 0 mir_map
|
// MIR for `f` after built
|
||||||
|
|
||||||
fn f(_1: Void) -> ! {
|
fn f(_1: Void) -> ! {
|
||||||
debug v => _1; // in scope 0 at $DIR/issue-72181-1.rs:+0:6: +0:7
|
debug v => _1; // in scope 0 at $DIR/issue-72181-1.rs:+0:6: +0:7
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
| User Type Annotations
|
| User Type Annotations
|
||||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(Void) }, span: $DIR/issue-72181-1.rs:16:12: 16:16, inferred_ty: Void
|
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(Void) }, span: $DIR/issue-72181-1.rs:16:12: 16:16, inferred_ty: Void
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `bar` 0 mir_map
|
// MIR for `bar` after built
|
||||||
|
|
||||||
fn bar(_1: Box<[T]>) -> () {
|
fn bar(_1: Box<[T]>) -> () {
|
||||||
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `foo` 0 mir_map
|
// MIR for `foo` after built
|
||||||
|
|
||||||
fn foo(_1: Box<[T]>) -> T {
|
fn foo(_1: Box<[T]>) -> T {
|
||||||
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:19: +0:21
|
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:19: +0:21
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `fun` 0 mir_map
|
// MIR for `fun` after built
|
||||||
|
|
||||||
fn fun(_1: &[T]) -> &T {
|
fn fun(_1: &[T]) -> &T {
|
||||||
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `hey` 0 mir_map
|
// MIR for `hey` after built
|
||||||
|
|
||||||
fn hey(_1: &[T]) -> () {
|
fn hey(_1: &[T]) -> () {
|
||||||
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
debug it => _1; // in scope 0 at $DIR/issue-91633.rs:+0:12: +0:14
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
| User Type Annotations
|
| User Type Annotations
|
||||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: TypeOf(DefId(0:3 ~ issue_99325[8f58]::function_with_bytes), UserSubsts { substs: [Const { ty: &'static [u8; 4], kind: Value(Branch([Leaf(0x41), Leaf(0x41), Leaf(0x41), Leaf(0x41)])) }], user_self_ty: None }) }, span: $DIR/issue-99325.rs:10:16: 10:46, inferred_ty: fn() -> &'static [u8] {function_with_bytes::<&*b"AAAA">}
|
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: TypeOf(DefId(0:3 ~ issue_99325[8f58]::function_with_bytes), UserSubsts { substs: [Const { ty: &'static [u8; 4], kind: Value(Branch([Leaf(0x41), Leaf(0x41), Leaf(0x41), Leaf(0x41)])) }], user_self_ty: None }) }, span: $DIR/issue-99325.rs:10:16: 10:46, inferred_ty: fn() -> &'static [u8] {function_with_bytes::<&*b"AAAA">}
|
|
@ -1,4 +1,4 @@
|
||||||
// EMIT_MIR receiver_ptr_mutability.main.mir_map.0.mir
|
// EMIT_MIR receiver_ptr_mutability.main.built.after.mir
|
||||||
|
|
||||||
#![feature(arbitrary_self_types)]
|
#![feature(arbitrary_self_types)]
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `main` 0 mir_map
|
// MIR for `main` after built
|
||||||
|
|
||||||
| User Type Annotations
|
| User Type Annotations
|
||||||
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver-ptr-mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
| 0: user_ty: Canonical { max_universe: U0, variables: [], value: Ty(*mut Test) }, span: $DIR/receiver-ptr-mutability.rs:14:14: 14:23, inferred_ty: *mut Test
|
|
@ -1,7 +1,7 @@
|
||||||
// Test that we don't generate unnecessarily large MIR for very simple matches
|
// Test that we don't generate unnecessarily large MIR for very simple matches
|
||||||
|
|
||||||
|
|
||||||
// EMIT_MIR simple_match.match_bool.mir_map.0.mir
|
// EMIT_MIR simple_match.match_bool.built.after.mir
|
||||||
fn match_bool(x: bool) -> usize {
|
fn match_bool(x: bool) -> usize {
|
||||||
match x {
|
match x {
|
||||||
true => 10,
|
true => 10,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `match_bool` 0 mir_map
|
// MIR for `match_bool` after built
|
||||||
|
|
||||||
fn match_bool(_1: bool) -> usize {
|
fn match_bool(_1: bool) -> usize {
|
||||||
debug x => _1; // in scope 0 at $DIR/simple-match.rs:+0:15: +0:16
|
debug x => _1; // in scope 0 at $DIR/simple-match.rs:+0:15: +0:16
|
|
@ -1,5 +1,5 @@
|
||||||
// Test spanview block output
|
// Test spanview block output
|
||||||
// compile-flags: -Z dump-mir-spanview=block
|
// compile-flags: -Z dump-mir-spanview=block
|
||||||
|
|
||||||
// EMIT_MIR spanview_block.main.mir_map.0.html
|
// EMIT_MIR spanview_block.main.built.after.html
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Test spanview output (the default value for `-Z dump-mir-spanview` is "statement")
|
// Test spanview output (the default value for `-Z dump-mir-spanview` is "statement")
|
||||||
// compile-flags: -Z dump-mir-spanview
|
// compile-flags: -Z dump-mir-spanview
|
||||||
|
|
||||||
// EMIT_MIR spanview_statement.main.mir_map.0.html
|
// EMIT_MIR spanview_statement.main.built.after.html
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Test spanview terminator output
|
// Test spanview terminator output
|
||||||
// compile-flags: -Z dump-mir-spanview=terminator
|
// compile-flags: -Z dump-mir-spanview=terminator
|
||||||
|
|
||||||
// EMIT_MIR spanview_terminator.main.mir_map.0.html
|
// EMIT_MIR spanview_terminator.main.built.after.html
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>spanview_block.main.mir_map.0</title>
|
<title>spanview_block.main.built.after</title>
|
||||||
<style>
|
<style>
|
||||||
.line {
|
.line {
|
||||||
counter-increment: line;
|
counter-increment: line;
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>spanview_statement.main.mir_map.0</title>
|
<title>spanview_statement.main.built.after</title>
|
||||||
<style>
|
<style>
|
||||||
.line {
|
.line {
|
||||||
counter-increment: line;
|
counter-increment: line;
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>spanview_terminator.main.mir_map.0</title>
|
<title>spanview_terminator.main.built.after</title>
|
||||||
<style>
|
<style>
|
||||||
.line {
|
.line {
|
||||||
counter-increment: line;
|
counter-increment: line;
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `XXX` 0 mir_map
|
// MIR for `XXX` after built
|
||||||
|
|
||||||
static XXX: &Foo = {
|
static XXX: &Foo = {
|
||||||
let mut _0: &Foo; // return place in scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:13: +0:25
|
let mut _0: &Foo; // return place in scope 0 at $DIR/storage_live_dead_in_statics.rs:+0:13: +0:25
|
|
@ -1,7 +1,7 @@
|
||||||
// Check that when we compile the static `XXX` into MIR, we do not
|
// Check that when we compile the static `XXX` into MIR, we do not
|
||||||
// generate `StorageStart` or `StorageEnd` statements.
|
// generate `StorageStart` or `StorageEnd` statements.
|
||||||
|
|
||||||
// EMIT_MIR storage_live_dead_in_statics.XXX.mir_map.0.mir
|
// EMIT_MIR storage_live_dead_in_statics.XXX.built.after.mir
|
||||||
static XXX: &'static Foo = &Foo {
|
static XXX: &'static Foo = &Foo {
|
||||||
tup: "hi",
|
tup: "hi",
|
||||||
data: &[
|
data: &[
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `move_out_by_subslice` 0 mir_map
|
// MIR for `move_out_by_subslice` after built
|
||||||
|
|
||||||
fn move_out_by_subslice() -> () {
|
fn move_out_by_subslice() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:27: +0:27
|
let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:27: +0:27
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `move_out_from_end` 0 mir_map
|
// MIR for `move_out_from_end` after built
|
||||||
|
|
||||||
fn move_out_from_end() -> () {
|
fn move_out_from_end() -> () {
|
||||||
let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:24: +0:24
|
let mut _0: (); // return place in scope 0 at $DIR/uniform_array_move_out.rs:+0:24: +0:24
|
|
@ -1,12 +1,12 @@
|
||||||
#![feature(box_syntax)]
|
#![feature(box_syntax)]
|
||||||
|
|
||||||
// EMIT_MIR uniform_array_move_out.move_out_from_end.mir_map.0.mir
|
// EMIT_MIR uniform_array_move_out.move_out_from_end.built.after.mir
|
||||||
fn move_out_from_end() {
|
fn move_out_from_end() {
|
||||||
let a = [box 1, box 2];
|
let a = [box 1, box 2];
|
||||||
let [.., _y] = a;
|
let [.., _y] = a;
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR uniform_array_move_out.move_out_by_subslice.mir_map.0.mir
|
// EMIT_MIR uniform_array_move_out.move_out_by_subslice.built.after.mir
|
||||||
fn move_out_by_subslice() {
|
fn move_out_by_subslice() {
|
||||||
let a = [box 1, box 2];
|
let a = [box 1, box 2];
|
||||||
let [_y @ ..] = a;
|
let [_y @ ..] = a;
|
||||||
|
|
|
@ -5,19 +5,19 @@
|
||||||
|
|
||||||
struct A;
|
struct A;
|
||||||
|
|
||||||
// EMIT_MIR unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.mir_map.0.mir
|
// EMIT_MIR unusual_item_types.{impl#0}-ASSOCIATED_CONSTANT.built.after.mir
|
||||||
impl A {
|
impl A {
|
||||||
const ASSOCIATED_CONSTANT: i32 = 2;
|
const ASSOCIATED_CONSTANT: i32 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// See #59021
|
// See #59021
|
||||||
// EMIT_MIR unusual_item_types.Test-X-{constructor#0}.mir_map.0.mir
|
// EMIT_MIR unusual_item_types.Test-X-{constructor#0}.built.after.mir
|
||||||
enum Test {
|
enum Test {
|
||||||
X(usize),
|
X(usize),
|
||||||
Y { a: usize },
|
Y { a: usize },
|
||||||
}
|
}
|
||||||
|
|
||||||
// EMIT_MIR unusual_item_types.E-V-{constant#0}.mir_map.0.mir
|
// EMIT_MIR unusual_item_types.E-V-{constant#0}.built.after.mir
|
||||||
enum E {
|
enum E {
|
||||||
V = 5,
|
V = 5,
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `E::V::{constant#0}` 0 mir_map
|
// MIR for `E::V::{constant#0}` after built
|
||||||
|
|
||||||
E::V::{constant#0}: isize = {
|
E::V::{constant#0}: isize = {
|
||||||
let mut _0: isize; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
|
let mut _0: isize; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:9: +0:10
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `Test::X` 0 mir_map
|
// MIR for `Test::X` after built
|
||||||
|
|
||||||
fn Test::X(_1: usize) -> Test {
|
fn Test::X(_1: usize) -> Test {
|
||||||
let mut _0: Test; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
|
let mut _0: Test; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:5: +0:6
|
|
@ -1,4 +1,4 @@
|
||||||
// MIR for `<impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT` 0 mir_map
|
// MIR for `<impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT` after built
|
||||||
|
|
||||||
const <impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT: i32 = {
|
const <impl at $DIR/unusual-item-types.rs:9:1: 9:7>::ASSOCIATED_CONSTANT: i32 = {
|
||||||
let mut _0: i32; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:32: +0:35
|
let mut _0: i32; // return place in scope 0 at $DIR/unusual-item-types.rs:+0:32: +0:35
|
Loading…
Add table
Reference in a new issue