mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			185 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
- // MIR for `wide_ptr_integer` before GVN
 | 
						|
+ // MIR for `wide_ptr_integer` after GVN
 | 
						|
  
 | 
						|
  fn wide_ptr_integer() -> () {
 | 
						|
      let mut _0: ();
 | 
						|
      let _1: *const [u8];
 | 
						|
      let mut _2: (usize, usize);
 | 
						|
      let mut _4: (usize, usize);
 | 
						|
      let _5: ();
 | 
						|
      let mut _6: bool;
 | 
						|
      let mut _7: *const [u8];
 | 
						|
      let mut _8: *const [u8];
 | 
						|
      let _9: ();
 | 
						|
      let mut _10: bool;
 | 
						|
      let mut _11: *const [u8];
 | 
						|
      let mut _12: *const [u8];
 | 
						|
      let _13: ();
 | 
						|
      let mut _14: bool;
 | 
						|
      let mut _15: *const [u8];
 | 
						|
      let mut _16: *const [u8];
 | 
						|
      let _17: ();
 | 
						|
      let mut _18: bool;
 | 
						|
      let mut _19: *const [u8];
 | 
						|
      let mut _20: *const [u8];
 | 
						|
      let _21: ();
 | 
						|
      let mut _22: bool;
 | 
						|
      let mut _23: *const [u8];
 | 
						|
      let mut _24: *const [u8];
 | 
						|
      let _25: ();
 | 
						|
      let mut _26: bool;
 | 
						|
      let mut _27: *const [u8];
 | 
						|
      let mut _28: *const [u8];
 | 
						|
      scope 1 {
 | 
						|
          debug a => _1;
 | 
						|
          let _3: *const [u8];
 | 
						|
          scope 2 {
 | 
						|
              debug b => _3;
 | 
						|
          }
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb0: {
 | 
						|
-         StorageLive(_1);
 | 
						|
+         nop;
 | 
						|
          StorageLive(_2);
 | 
						|
-         _2 = (const 1_usize, const 1_usize);
 | 
						|
-         _1 = move _2 as *const [u8] (Transmute);
 | 
						|
+         _2 = const (1_usize, 1_usize);
 | 
						|
+         _1 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageDead(_2);
 | 
						|
-         StorageLive(_3);
 | 
						|
+         nop;
 | 
						|
          StorageLive(_4);
 | 
						|
-         _4 = (const 1_usize, const 2_usize);
 | 
						|
-         _3 = move _4 as *const [u8] (Transmute);
 | 
						|
+         _4 = const (1_usize, 2_usize);
 | 
						|
+         _3 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageDead(_4);
 | 
						|
          StorageLive(_5);
 | 
						|
          StorageLive(_6);
 | 
						|
          StorageLive(_7);
 | 
						|
-         _7 = copy _1;
 | 
						|
+         _7 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_8);
 | 
						|
-         _8 = copy _3;
 | 
						|
-         _6 = Eq(move _7, move _8);
 | 
						|
+         _8 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _6 = const false;
 | 
						|
          StorageDead(_8);
 | 
						|
          StorageDead(_7);
 | 
						|
-         _5 = opaque::<bool>(move _6) -> [return: bb1, unwind unreachable];
 | 
						|
+         _5 = opaque::<bool>(const false) -> [return: bb1, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb1: {
 | 
						|
          StorageDead(_6);
 | 
						|
          StorageDead(_5);
 | 
						|
          StorageLive(_9);
 | 
						|
          StorageLive(_10);
 | 
						|
          StorageLive(_11);
 | 
						|
-         _11 = copy _1;
 | 
						|
+         _11 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_12);
 | 
						|
-         _12 = copy _3;
 | 
						|
-         _10 = Ne(move _11, move _12);
 | 
						|
+         _12 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _10 = const true;
 | 
						|
          StorageDead(_12);
 | 
						|
          StorageDead(_11);
 | 
						|
-         _9 = opaque::<bool>(move _10) -> [return: bb2, unwind unreachable];
 | 
						|
+         _9 = opaque::<bool>(const true) -> [return: bb2, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb2: {
 | 
						|
          StorageDead(_10);
 | 
						|
          StorageDead(_9);
 | 
						|
          StorageLive(_13);
 | 
						|
          StorageLive(_14);
 | 
						|
          StorageLive(_15);
 | 
						|
-         _15 = copy _1;
 | 
						|
+         _15 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_16);
 | 
						|
-         _16 = copy _3;
 | 
						|
-         _14 = Lt(move _15, move _16);
 | 
						|
+         _16 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _14 = const true;
 | 
						|
          StorageDead(_16);
 | 
						|
          StorageDead(_15);
 | 
						|
-         _13 = opaque::<bool>(move _14) -> [return: bb3, unwind unreachable];
 | 
						|
+         _13 = opaque::<bool>(const true) -> [return: bb3, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb3: {
 | 
						|
          StorageDead(_14);
 | 
						|
          StorageDead(_13);
 | 
						|
          StorageLive(_17);
 | 
						|
          StorageLive(_18);
 | 
						|
          StorageLive(_19);
 | 
						|
-         _19 = copy _1;
 | 
						|
+         _19 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_20);
 | 
						|
-         _20 = copy _3;
 | 
						|
-         _18 = Le(move _19, move _20);
 | 
						|
+         _20 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _18 = const true;
 | 
						|
          StorageDead(_20);
 | 
						|
          StorageDead(_19);
 | 
						|
-         _17 = opaque::<bool>(move _18) -> [return: bb4, unwind unreachable];
 | 
						|
+         _17 = opaque::<bool>(const true) -> [return: bb4, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb4: {
 | 
						|
          StorageDead(_18);
 | 
						|
          StorageDead(_17);
 | 
						|
          StorageLive(_21);
 | 
						|
          StorageLive(_22);
 | 
						|
          StorageLive(_23);
 | 
						|
-         _23 = copy _1;
 | 
						|
+         _23 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_24);
 | 
						|
-         _24 = copy _3;
 | 
						|
-         _22 = Gt(move _23, move _24);
 | 
						|
+         _24 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _22 = const false;
 | 
						|
          StorageDead(_24);
 | 
						|
          StorageDead(_23);
 | 
						|
-         _21 = opaque::<bool>(move _22) -> [return: bb5, unwind unreachable];
 | 
						|
+         _21 = opaque::<bool>(const false) -> [return: bb5, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb5: {
 | 
						|
          StorageDead(_22);
 | 
						|
          StorageDead(_21);
 | 
						|
          StorageLive(_25);
 | 
						|
          StorageLive(_26);
 | 
						|
          StorageLive(_27);
 | 
						|
-         _27 = copy _1;
 | 
						|
+         _27 = const Indirect { alloc_id: ALLOC0, offset: Size(0 bytes) }: *const [u8];
 | 
						|
          StorageLive(_28);
 | 
						|
-         _28 = copy _3;
 | 
						|
-         _26 = Ge(move _27, move _28);
 | 
						|
+         _28 = const Indirect { alloc_id: ALLOC1, offset: Size(0 bytes) }: *const [u8];
 | 
						|
+         _26 = const false;
 | 
						|
          StorageDead(_28);
 | 
						|
          StorageDead(_27);
 | 
						|
-         _25 = opaque::<bool>(move _26) -> [return: bb6, unwind unreachable];
 | 
						|
+         _25 = opaque::<bool>(const false) -> [return: bb6, unwind unreachable];
 | 
						|
      }
 | 
						|
  
 | 
						|
      bb6: {
 | 
						|
          StorageDead(_26);
 | 
						|
          StorageDead(_25);
 | 
						|
          _0 = const ();
 | 
						|
-         StorageDead(_3);
 | 
						|
-         StorageDead(_1);
 | 
						|
+         nop;
 | 
						|
+         nop;
 | 
						|
          return;
 | 
						|
      }
 | 
						|
  }
 | 
						|
+ 
 | 
						|
+ ALLOC1 (size: 16, align: 8) { .. }
 | 
						|
+ 
 | 
						|
+ ALLOC0 (size: 16, align: 8) { .. }
 | 
						|
  
 |