1 - // MIR for `fn_pointers` before GVN
2 + // MIR for `fn_pointers` after GVN
4 fn fn_pointers() -> () {
8 let mut _3: fn(u8) -> u8;
10 let mut _6: fn(u8) -> u8;
11 let mut _9: {closure@$DIR/gvn.rs:591:19: 591:21};
14 let mut _13: {closure@$DIR/gvn.rs:591:19: 591:21};
22 let _7: {closure@$DIR/gvn.rs:591:19: 591:21};
40 _1 = identity::<u8> as fn(u8) -> u8 (PointerCoercion(ReifyFnPointer));
44 - _2 = opaque::<fn(u8) -> u8>(move _3) -> [return: bb1, unwind unreachable];
45 + _2 = opaque::<fn(u8) -> u8>(_1) -> [return: bb1, unwind unreachable];
53 _4 = identity::<u8> as fn(u8) -> u8 (PointerCoercion(ReifyFnPointer));
57 - _5 = opaque::<fn(u8) -> u8>(move _6) -> [return: bb2, unwind unreachable];
58 + _5 = opaque::<fn(u8) -> u8>(_4) -> [return: bb2, unwind unreachable];
65 - _7 = {closure@$DIR/gvn.rs:591:19: 591:21};
68 + _7 = const ZeroSized: {closure@$DIR/gvn.rs:591:19: 591:21};
72 - _8 = move _9 as fn() (PointerCoercion(ClosureFnPointer(Normal)));
73 + _9 = const ZeroSized: {closure@$DIR/gvn.rs:591:19: 591:21};
74 + _8 = const ZeroSized: {closure@$DIR/gvn.rs:591:19: 591:21} as fn() (PointerCoercion(ClosureFnPointer(Normal)));
79 - _10 = opaque::<fn()>(move _11) -> [return: bb3, unwind unreachable];
80 + _10 = opaque::<fn()>(_8) -> [return: bb3, unwind unreachable];
90 - _12 = move _13 as fn() (PointerCoercion(ClosureFnPointer(Normal)));
91 + _13 = const ZeroSized: {closure@$DIR/gvn.rs:591:19: 591:21};
92 + _12 = const ZeroSized: {closure@$DIR/gvn.rs:591:19: 591:21} as fn() (PointerCoercion(ClosureFnPointer(Normal)));
97 - _14 = opaque::<fn()>(move _15) -> [return: bb4, unwind unreachable];
98 + _14 = opaque::<fn()>(_12) -> [return: bb4, unwind unreachable];