- // MIR for `arithmetic_float` before GVN + // MIR for `arithmetic_float` after GVN fn arithmetic_float(_1: f64) -> () { debug x => _1; let mut _0: (); let _2: (); let mut _3: f64; let mut _4: f64; let _5: (); let mut _6: f64; let mut _7: f64; let _8: (); let mut _9: f64; let mut _10: f64; let _11: (); let mut _12: f64; let mut _13: f64; let _14: (); let mut _15: f64; let mut _16: f64; let _17: (); let mut _18: f64; let mut _19: f64; let _20: (); let mut _21: f64; let mut _22: f64; let _23: (); let mut _24: bool; let mut _25: f64; let mut _26: f64; let _27: (); let mut _28: bool; let mut _29: f64; let mut _30: f64; bb0: { StorageLive(_2); StorageLive(_3); StorageLive(_4); _4 = copy _1; - _3 = Add(move _4, const 0f64); + _3 = Add(copy _1, const 0f64); StorageDead(_4); _2 = opaque::(move _3) -> [return: bb1, unwind continue]; } bb1: { StorageDead(_3); StorageDead(_2); StorageLive(_5); StorageLive(_6); StorageLive(_7); _7 = copy _1; - _6 = Sub(move _7, const 0f64); + _6 = Sub(copy _1, const 0f64); StorageDead(_7); _5 = opaque::(move _6) -> [return: bb2, unwind continue]; } bb2: { StorageDead(_6); StorageDead(_5); StorageLive(_8); StorageLive(_9); StorageLive(_10); _10 = copy _1; - _9 = Mul(move _10, const 0f64); + _9 = Mul(copy _1, const 0f64); StorageDead(_10); _8 = opaque::(move _9) -> [return: bb3, unwind continue]; } bb3: { StorageDead(_9); StorageDead(_8); StorageLive(_11); StorageLive(_12); StorageLive(_13); _13 = copy _1; - _12 = Div(move _13, const 0f64); + _12 = Div(copy _1, const 0f64); StorageDead(_13); _11 = opaque::(move _12) -> [return: bb4, unwind continue]; } bb4: { StorageDead(_12); StorageDead(_11); StorageLive(_14); StorageLive(_15); StorageLive(_16); _16 = copy _1; - _15 = Div(const 0f64, move _16); + _15 = Div(const 0f64, copy _1); StorageDead(_16); _14 = opaque::(move _15) -> [return: bb5, unwind continue]; } bb5: { StorageDead(_15); StorageDead(_14); StorageLive(_17); StorageLive(_18); StorageLive(_19); _19 = copy _1; - _18 = Rem(move _19, const 0f64); + _18 = Rem(copy _1, const 0f64); StorageDead(_19); _17 = opaque::(move _18) -> [return: bb6, unwind continue]; } bb6: { StorageDead(_18); StorageDead(_17); StorageLive(_20); StorageLive(_21); StorageLive(_22); _22 = copy _1; - _21 = Rem(const 0f64, move _22); + _21 = Rem(const 0f64, copy _1); StorageDead(_22); _20 = opaque::(move _21) -> [return: bb7, unwind continue]; } bb7: { StorageDead(_21); StorageDead(_20); StorageLive(_23); StorageLive(_24); StorageLive(_25); _25 = copy _1; StorageLive(_26); _26 = copy _1; - _24 = Eq(move _25, move _26); + _24 = Eq(copy _1, copy _1); StorageDead(_26); StorageDead(_25); _23 = opaque::(move _24) -> [return: bb8, unwind continue]; } bb8: { StorageDead(_24); StorageDead(_23); StorageLive(_27); StorageLive(_28); StorageLive(_29); _29 = copy _1; StorageLive(_30); _30 = copy _1; - _28 = Ne(move _29, move _30); + _28 = Ne(copy _1, copy _1); StorageDead(_30); StorageDead(_29); _27 = opaque::(move _28) -> [return: bb9, unwind continue]; } bb9: { StorageDead(_28); StorageDead(_27); _0 = const (); return; } }