]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/funky_arms.float_to_exponential_common.ConstProp.diff
Auto merge of #107443 - cjgillot:generator-less-query, r=compiler-errors
[rust.git] / tests / mir-opt / funky_arms.float_to_exponential_common.ConstProp.diff
1 - // MIR for `float_to_exponential_common` before ConstProp
2 + // MIR for `float_to_exponential_common` after ConstProp
3   
4   fn float_to_exponential_common(_1: &mut Formatter<'_>, _2: &T, _3: bool) -> Result<(), std::fmt::Error> {
5       debug fmt => _1;                     // in scope 0 at $DIR/funky_arms.rs:+0:35: +0:38
6       debug num => _2;                     // in scope 0 at $DIR/funky_arms.rs:+0:60: +0:63
7       debug upper => _3;                   // in scope 0 at $DIR/funky_arms.rs:+0:69: +0:74
8       let mut _0: std::result::Result<(), std::fmt::Error>; // return place in scope 0 at $DIR/funky_arms.rs:+0:85: +0:91
9       let _4: bool;                        // in scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
10       let mut _5: &std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
11       let mut _7: std::option::Option<usize>; // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
12       let mut _8: &std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+13:30: +13:45
13       let mut _9: isize;                   // in scope 0 at $DIR/funky_arms.rs:+13:12: +13:27
14       let mut _11: &mut std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+15:43: +15:46
15       let mut _12: &T;                     // in scope 0 at $DIR/funky_arms.rs:+15:48: +15:51
16       let mut _13: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+15:53: +15:57
17       let mut _14: u32;                    // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:79
18       let mut _15: u32;                    // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:75
19       let mut _16: usize;                  // in scope 0 at $DIR/funky_arms.rs:+15:59: +15:68
20       let mut _17: bool;                   // in scope 0 at $DIR/funky_arms.rs:+15:81: +15:86
21       let mut _18: &mut std::fmt::Formatter<'_>; // in scope 0 at $DIR/funky_arms.rs:+17:46: +17:49
22       let mut _19: &T;                     // in scope 0 at $DIR/funky_arms.rs:+17:51: +17:54
23       let mut _20: core::num::flt2dec::Sign; // in scope 0 at $DIR/funky_arms.rs:+17:56: +17:60
24       let mut _21: bool;                   // in scope 0 at $DIR/funky_arms.rs:+17:62: +17:67
25       scope 1 {
26           debug force_sign => _4;          // in scope 1 at $DIR/funky_arms.rs:+4:9: +4:19
27           let _6: core::num::flt2dec::Sign; // in scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
28           scope 2 {
29               debug sign => _6;            // in scope 2 at $DIR/funky_arms.rs:+8:9: +8:13
30               scope 3 {
31                   debug precision => _10;  // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
32                   let _10: usize;          // in scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
33               }
34           }
35       }
36   
37       bb0: {
38           StorageLive(_4);                 // scope 0 at $DIR/funky_arms.rs:+4:9: +4:19
39           StorageLive(_5);                 // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
40           _5 = &(*_1);                     // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
41           _4 = Formatter::<'_>::sign_plus(move _5) -> bb1; // scope 0 at $DIR/funky_arms.rs:+4:22: +4:37
42                                            // mir::Constant
43                                            // + span: $DIR/funky_arms.rs:15:26: 15:35
44                                            // + literal: Const { ty: for<'a> fn(&'a Formatter<'_>) -> bool {Formatter::<'_>::sign_plus}, val: Value(<ZST>) }
45       }
46   
47       bb1: {
48           StorageDead(_5);                 // scope 0 at $DIR/funky_arms.rs:+4:36: +4:37
49           StorageLive(_6);                 // scope 1 at $DIR/funky_arms.rs:+8:9: +8:13
50           switchInt(_4) -> [0: bb3, otherwise: bb2]; // scope 1 at $DIR/funky_arms.rs:+8:16: +8:32
51       }
52   
53       bb2: {
54           Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
55           discriminant(_6) = 1;            // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
56           goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:+10:17: +10:41
57       }
58   
59       bb3: {
60           Deinit(_6);                      // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
61           discriminant(_6) = 0;            // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
62           goto -> bb4;                     // scope 1 at $DIR/funky_arms.rs:+9:18: +9:38
63       }
64   
65       bb4: {
66           StorageLive(_7);                 // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
67           StorageLive(_8);                 // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
68           _8 = &(*_1);                     // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
69           _7 = Formatter::<'_>::precision(move _8) -> bb5; // scope 3 at $DIR/funky_arms.rs:+13:30: +13:45
70                                            // mir::Constant
71                                            // + span: $DIR/funky_arms.rs:24:34: 24:43
72                                            // + literal: Const { ty: for<'a> fn(&'a Formatter<'_>) -> Option<usize> {Formatter::<'_>::precision}, val: Value(<ZST>) }
73       }
74   
75       bb5: {
76           StorageDead(_8);                 // scope 3 at $DIR/funky_arms.rs:+13:44: +13:45
77           _9 = discriminant(_7);           // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
78           switchInt(move _9) -> [1: bb6, otherwise: bb8]; // scope 3 at $DIR/funky_arms.rs:+13:12: +13:27
79       }
80   
81       bb6: {
82           StorageLive(_10);                // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
83           _10 = ((_7 as Some).0: usize);   // scope 3 at $DIR/funky_arms.rs:+13:17: +13:26
84           StorageLive(_11);                // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
85           _11 = &mut (*_1);                // scope 3 at $DIR/funky_arms.rs:+15:43: +15:46
86           StorageLive(_13);                // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
87           _13 = _6;                        // scope 3 at $DIR/funky_arms.rs:+15:53: +15:57
88           StorageLive(_14);                // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
89           StorageLive(_15);                // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
90           _15 = _10 as u32 (IntToInt);     // scope 3 at $DIR/funky_arms.rs:+15:59: +15:75
91           _14 = Add(move _15, const 1_u32); // scope 3 at $DIR/funky_arms.rs:+15:59: +15:79
92           StorageDead(_15);                // scope 3 at $DIR/funky_arms.rs:+15:78: +15:79
93           _0 = float_to_exponential_common_exact::<T>(move _11, _2, move _13, move _14, _3) -> bb7; // scope 3 at $DIR/funky_arms.rs:+15:9: +15:87
94                                            // mir::Constant
95                                            // + span: $DIR/funky_arms.rs:26:9: 26:42
96                                            // + literal: Const { ty: for<'a, 'b, 'c> fn(&'a mut Formatter<'b>, &'c T, Sign, u32, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_exact::<T>}, val: Value(<ZST>) }
97       }
98   
99       bb7: {
100           StorageDead(_14);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
101           StorageDead(_13);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
102           StorageDead(_11);                // scope 3 at $DIR/funky_arms.rs:+15:86: +15:87
103           goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
104       }
105   
106       bb8: {
107           StorageLive(_18);                // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
108           _18 = &mut (*_1);                // scope 2 at $DIR/funky_arms.rs:+17:46: +17:49
109           StorageLive(_20);                // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
110           _20 = _6;                        // scope 2 at $DIR/funky_arms.rs:+17:56: +17:60
111           _0 = float_to_exponential_common_shortest::<T>(move _18, _2, move _20, _3) -> bb9; // scope 2 at $DIR/funky_arms.rs:+17:9: +17:68
112                                            // mir::Constant
113                                            // + span: $DIR/funky_arms.rs:28:9: 28:45
114                                            // + literal: Const { ty: for<'a, 'b, 'c> fn(&'a mut Formatter<'b>, &'c T, Sign, bool) -> Result<(), std::fmt::Error> {float_to_exponential_common_shortest::<T>}, val: Value(<ZST>) }
115       }
116   
117       bb9: {
118           StorageDead(_20);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
119           StorageDead(_18);                // scope 2 at $DIR/funky_arms.rs:+17:67: +17:68
120           goto -> bb10;                    // scope 2 at $DIR/funky_arms.rs:+13:5: +18:6
121       }
122   
123       bb10: {
124           StorageDead(_6);                 // scope 1 at $DIR/funky_arms.rs:+19:1: +19:2
125           StorageDead(_4);                 // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
126           StorageDead(_7);                 // scope 0 at $DIR/funky_arms.rs:+19:1: +19:2
127           return;                          // scope 0 at $DIR/funky_arms.rs:+19:2: +19:2
128       }
129   }
130