rustc.main.UnreachablePropagation.diff 9.3 KB
Newer Older
A
Ana-Maria Mihalache 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
- // MIR for `main` before UnreachablePropagation
+ // MIR for `main` after UnreachablePropagation
  
  fn main() -> () {
      let mut _0: ();                      // return place in scope 0 at $DIR/unreachable_asm_2.rs:10:11: 10:11
      let mut _1: std::option::Option<Empty>; // in scope 0 at $DIR/unreachable_asm_2.rs:11:23: 11:30
      let mut _2: isize;                   // in scope 0 at $DIR/unreachable_asm_2.rs:11:12: 11:20
      let _3: Empty;                       // in scope 0 at $DIR/unreachable_asm_2.rs:11:17: 11:19
      let _5: ();                          // in scope 0 at $DIR/unreachable_asm_2.rs:14:9: 22:10
      let mut _6: bool;                    // in scope 0 at $DIR/unreachable_asm_2.rs:14:12: 14:16
      let _7: ();                          // in scope 0 at $DIR/unreachable_asm_2.rs:16:13: 16:41
      let _8: ();                          // in scope 0 at $DIR/unreachable_asm_2.rs:20:13: 20:41
      let mut _9: !;                       // in scope 0 at $DIR/unreachable_asm_2.rs:24:9: 24:21
      scope 1 {
          debug _x => _3;                  // in scope 1 at $DIR/unreachable_asm_2.rs:11:17: 11:19
          let mut _4: i32;                 // in scope 1 at $DIR/unreachable_asm_2.rs:12:13: 12:19
          scope 2 {
              debug _y => _4;              // in scope 2 at $DIR/unreachable_asm_2.rs:12:13: 12:19
              scope 3 {
              }
              scope 4 {
              }
          }
      }
  
      bb0: {
          StorageLive(_1);                 // bb0[0]: scope 0 at $DIR/unreachable_asm_2.rs:11:23: 11:30
          _1 = const empty() -> bb1;       // bb0[1]: scope 0 at $DIR/unreachable_asm_2.rs:11:23: 11:30
                                           // ty::Const
                                           // + ty: fn() -> std::option::Option<Empty> {empty}
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:11:23: 11:28
                                           // + literal: Const { ty: fn() -> std::option::Option<Empty> {empty}, val: Value(Scalar(<ZST>)) }
      }
  
      bb1: {
          _2 = discriminant(_1);           // bb1[0]: scope 0 at $DIR/unreachable_asm_2.rs:11:12: 11:20
          switchInt(move _2) -> [1isize: bb3, otherwise: bb2]; // bb1[1]: scope 0 at $DIR/unreachable_asm_2.rs:11:12: 11:20
      }
  
      bb2: {
B
Bastian Kauschke 已提交
43 44 45 46 47 48 49
          _0 = const ();                   // bb2[0]: scope 0 at $DIR/unreachable_asm_2.rs:11:5: 25:6
                                           // ty::Const
                                           // + ty: ()
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:11:5: 25:6
                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
A
Ana-Maria Mihalache 已提交
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
          StorageDead(_1);                 // bb2[1]: scope 0 at $DIR/unreachable_asm_2.rs:26:1: 26:2
          return;                          // bb2[2]: scope 0 at $DIR/unreachable_asm_2.rs:26:2: 26:2
      }
  
      bb3: {
          StorageLive(_3);                 // bb3[0]: scope 0 at $DIR/unreachable_asm_2.rs:11:17: 11:19
          _3 = move ((_1 as Some).0: Empty); // bb3[1]: scope 0 at $DIR/unreachable_asm_2.rs:11:17: 11:19
          StorageLive(_4);                 // bb3[2]: scope 1 at $DIR/unreachable_asm_2.rs:12:13: 12:19
          StorageLive(_5);                 // bb3[3]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
          StorageLive(_6);                 // bb3[4]: scope 2 at $DIR/unreachable_asm_2.rs:14:12: 14:16
          _6 = const true;                 // bb3[5]: scope 2 at $DIR/unreachable_asm_2.rs:14:12: 14:16
                                           // ty::Const
                                           // + ty: bool
                                           // + val: Value(Scalar(0x01))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:14:12: 14:16
                                           // + literal: Const { ty: bool, val: Value(Scalar(0x01)) }
          switchInt(_6) -> [false: bb4, otherwise: bb5]; // bb3[6]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
      }
  
      bb4: {
          StorageLive(_8);                 // bb4[0]: scope 2 at $DIR/unreachable_asm_2.rs:20:13: 20:41
          llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // bb4[1]: scope 4 at $DIR/unreachable_asm_2.rs:20:22: 20:39
B
Bastian Kauschke 已提交
73 74 75 76 77 78 79
          _8 = const ();                   // bb4[2]: scope 4 at $DIR/unreachable_asm_2.rs:20:13: 20:41
                                           // ty::Const
                                           // + ty: ()
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:20:13: 20:41
                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
A
Ana-Maria Mihalache 已提交
80 81 82 83 84 85 86 87
          StorageDead(_8);                 // bb4[3]: scope 2 at $DIR/unreachable_asm_2.rs:20:40: 20:41
          _4 = const 42i32;                // bb4[4]: scope 2 at $DIR/unreachable_asm_2.rs:21:13: 21:20
                                           // ty::Const
                                           // + ty: i32
                                           // + val: Value(Scalar(0x0000002a))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:21:18: 21:20
                                           // + literal: Const { ty: i32, val: Value(Scalar(0x0000002a)) }
B
Bastian Kauschke 已提交
88 89 90 91 92 93 94
          _5 = const ();                   // bb4[5]: scope 2 at $DIR/unreachable_asm_2.rs:18:16: 22:10
                                           // ty::Const
                                           // + ty: ()
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:18:16: 22:10
                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
A
Ana-Maria Mihalache 已提交
95 96 97 98 99 100 101
-         goto -> bb6;                     // bb4[6]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
+         unreachable;                     // bb4[6]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
      }
  
      bb5: {
          StorageLive(_7);                 // bb5[0]: scope 2 at $DIR/unreachable_asm_2.rs:16:13: 16:41
          llvm_asm!(LlvmInlineAsmInner { asm: "NOP", asm_str_style: Cooked, outputs: [], inputs: [], clobbers: [], volatile: true, alignstack: false, dialect: Att } : [] : []); // bb5[1]: scope 3 at $DIR/unreachable_asm_2.rs:16:22: 16:39
B
Bastian Kauschke 已提交
102 103 104 105 106 107 108
          _7 = const ();                   // bb5[2]: scope 3 at $DIR/unreachable_asm_2.rs:16:13: 16:41
                                           // ty::Const
                                           // + ty: ()
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:16:13: 16:41
                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
A
Ana-Maria Mihalache 已提交
109 110 111 112 113 114 115 116
          StorageDead(_7);                 // bb5[3]: scope 2 at $DIR/unreachable_asm_2.rs:16:40: 16:41
          _4 = const 21i32;                // bb5[4]: scope 2 at $DIR/unreachable_asm_2.rs:17:13: 17:20
                                           // ty::Const
                                           // + ty: i32
                                           // + val: Value(Scalar(0x00000015))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:17:18: 17:20
                                           // + literal: Const { ty: i32, val: Value(Scalar(0x00000015)) }
B
Bastian Kauschke 已提交
117 118 119 120 121 122 123
          _5 = const ();                   // bb5[5]: scope 2 at $DIR/unreachable_asm_2.rs:14:17: 18:10
                                           // ty::Const
                                           // + ty: ()
                                           // + val: Value(Scalar(<ZST>))
                                           // mir::Constant
                                           // + span: $DIR/unreachable_asm_2.rs:14:17: 18:10
                                           // + literal: Const { ty: (), val: Value(Scalar(<ZST>)) }
A
Ana-Maria Mihalache 已提交
124 125 126 127 128 129 130 131 132 133 134 135
-         goto -> bb6;                     // bb5[6]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
-     }
- 
-     bb6: {
-         StorageDead(_6);                 // bb6[0]: scope 2 at $DIR/unreachable_asm_2.rs:22:9: 22:10
-         StorageDead(_5);                 // bb6[1]: scope 2 at $DIR/unreachable_asm_2.rs:22:9: 22:10
-         StorageLive(_9);                 // bb6[2]: scope 2 at $DIR/unreachable_asm_2.rs:24:9: 24:21
-         unreachable;                     // bb6[3]: scope 2 at $DIR/unreachable_asm_2.rs:24:15: 24:17
+         unreachable;                     // bb5[6]: scope 2 at $DIR/unreachable_asm_2.rs:14:9: 22:10
      }
  }