- // MIR for `main` before DataflowConstProp + // MIR for `main` after DataflowConstProp fn main() -> () { let mut _0: (); let mut _1: (i32, i32); let mut _3: i32; let mut _4: i32; let mut _5: i32; let mut _7: i32; let mut _8: i32; let mut _9: i32; let mut _10: i32; let mut _12: i32; let mut _13: (i32, i32); let mut _14: i32; scope 1 { debug a => _1; let _2: i32; scope 2 { debug b => _2; let _6: i32; scope 3 { debug c => _6; let _11: (i32, (i32, i32), i32); scope 4 { debug d => _11; } } } } bb0: { StorageLive(_1); - _1 = (const 1_i32, const 2_i32); + _1 = const (1_i32, 2_i32); StorageLive(_2); StorageLive(_3); StorageLive(_4); - _4 = copy (_1.0: i32); + _4 = const 1_i32; StorageLive(_5); - _5 = copy (_1.1: i32); - _3 = Add(move _4, move _5); + _5 = const 2_i32; + _3 = const 3_i32; StorageDead(_5); StorageDead(_4); - _2 = Add(move _3, const 3_i32); + _2 = const 6_i32; StorageDead(_3); - _1 = (const 2_i32, const 3_i32); + _1 = const (2_i32, 3_i32); StorageLive(_6); StorageLive(_7); StorageLive(_8); - _8 = copy (_1.0: i32); + _8 = const 2_i32; StorageLive(_9); - _9 = copy (_1.1: i32); - _7 = Add(move _8, move _9); + _9 = const 3_i32; + _7 = const 5_i32; StorageDead(_9); StorageDead(_8); StorageLive(_10); - _10 = copy _2; - _6 = Add(move _7, move _10); + _10 = const 6_i32; + _6 = const 11_i32; StorageDead(_10); StorageDead(_7); StorageLive(_11); StorageLive(_12); - _12 = copy _2; + _12 = const 6_i32; StorageLive(_13); - _13 = copy _1; + _13 = const (2_i32, 3_i32); StorageLive(_14); - _14 = copy _6; - _11 = (move _12, move _13, move _14); + _14 = const 11_i32; + _11 = (const 6_i32, const (2_i32, 3_i32), const 11_i32); StorageDead(_14); StorageDead(_13); StorageDead(_12); _0 = const (); StorageDead(_11); StorageDead(_6); StorageDead(_2); StorageDead(_1); return; } } + + ALLOC0 (size: 8, align: 4) { .. } + + ALLOC1 (size: 8, align: 4) { .. } + + ALLOC2 (size: 8, align: 4) { .. } + + ALLOC3 (size: 8, align: 4) { .. }