- // MIR for `repeat` before GVN | |
+ // MIR for `repeat` after GVN | |
fn repeat() -> () { | |
let mut _0: (); | |
let _1: i32; | |
let mut _3: i32; | |
let mut _4: i32; | |
let mut _5: i32; | |
let mut _6: i32; | |
let mut _7: i32; | |
let mut _8: i32; | |
let mut _9: i32; | |
let mut _10: i32; | |
let mut _11: i32; | |
let mut _12: i32; | |
scope 1 { | |
debug val => _1; | |
let _2: [i32; 10]; | |
scope 2 { | |
debug array => _2; | |
} | |
} | |
bb0: { | |
- StorageLive(_1); | |
+ nop; | |
_1 = const 5_i32; | |
StorageLive(_2); | |
StorageLive(_3); | |
- _3 = copy _1; | |
+ _3 = const 5_i32; | |
StorageLive(_4); | |
- _4 = copy _1; | |
+ _4 = const 5_i32; | |
StorageLive(_5); | |
- _5 = copy _1; | |
+ _5 = const 5_i32; | |
StorageLive(_6); | |
- _6 = copy _1; | |
+ _6 = const 5_i32; | |
StorageLive(_7); | |
- _7 = copy _1; | |
+ _7 = const 5_i32; | |
StorageLive(_8); | |
- _8 = copy _1; | |
+ _8 = const 5_i32; | |
StorageLive(_9); | |
- _9 = copy _1; | |
+ _9 = const 5_i32; | |
StorageLive(_10); | |
- _10 = copy _1; | |
+ _10 = const 5_i32; | |
StorageLive(_11); | |
- _11 = copy _1; | |
+ _11 = const 5_i32; | |
StorageLive(_12); | |
- _12 = copy _1; | |
- _2 = [move _3, move _4, move _5, move _6, move _7, move _8, move _9, move _10, move _11, move _12]; | |
+ _12 = const 5_i32; | |
+ _2 = [const 5_i32; 10]; | |
StorageDead(_12); | |
StorageDead(_11); | |
StorageDead(_10); | |
StorageDead(_9); | |
StorageDead(_8); | |
StorageDead(_7); | |
StorageDead(_6); | |
StorageDead(_5); | |
StorageDead(_4); | |
StorageDead(_3); | |
_0 = const (); | |
StorageDead(_2); | |
- StorageDead(_1); | |
+ nop; | |
return; | |
} | |
} | |