rust/tests/mir-opt/enum_opt.trunc.EnumSizeOpt.64bit.diff
kadmin 5d9f5145ac Rm allocation in candidate
Instead of storing an extra array for discriminant values, create an allocation there and store
those in an allocation immediately.
2023-02-07 09:37:55 +00:00

47 lines
2.9 KiB
Diff

- // MIR for `trunc` before EnumSizeOpt
+ // MIR for `trunc` after EnumSizeOpt
fn trunc() -> () {
let mut _0: (); // return place in scope 0 at $DIR/enum_opt.rs:61:16: 61:16
let mut _1: Truncatable; // in scope 0 at $DIR/enum_opt.rs:62:7: 62:12
let mut _2: Truncatable; // in scope 0 at $DIR/enum_opt.rs:63:7: 63:32
let mut _3: [u8; 1024]; // in scope 0 at $DIR/enum_opt.rs:63:22: 63:31
let mut _4: Truncatable; // in scope 0 at $DIR/enum_opt.rs:64:7: 64:32
let mut _5: [u8; 4096]; // in scope 0 at $DIR/enum_opt.rs:64:22: 64:31
scope 1 {
debug a => _1; // in scope 1 at $DIR/enum_opt.rs:62:7: 62:12
}
bb0: {
StorageLive(_1); // scope 0 at $DIR/enum_opt.rs:62:7: 62:12
Deinit(_1); // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
discriminant(_1) = 0; // scope 0 at $DIR/enum_opt.rs:62:15: 62:29
StorageLive(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageLive(_3); // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
_3 = [const 0_u8; 1024]; // scope 1 at $DIR/enum_opt.rs:63:22: 63:31
Deinit(_2); // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
((_2 as B).0: [u8; 1024]) = move _3; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
discriminant(_2) = 1; // scope 1 at $DIR/enum_opt.rs:63:7: 63:32
StorageDead(_3); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
_1 = move _2; // scope 1 at $DIR/enum_opt.rs:63:3: 63:32
StorageDead(_2); // scope 1 at $DIR/enum_opt.rs:63:31: 63:32
StorageLive(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageLive(_5); // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
_5 = [const 0_u8; 4096]; // scope 1 at $DIR/enum_opt.rs:64:22: 64:31
Deinit(_4); // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
((_4 as C).0: [u8; 4096]) = move _5; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
discriminant(_4) = 2; // scope 1 at $DIR/enum_opt.rs:64:7: 64:32
StorageDead(_5); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_1 = move _4; // scope 1 at $DIR/enum_opt.rs:64:3: 64:32
StorageDead(_4); // scope 1 at $DIR/enum_opt.rs:64:31: 64:32
_0 = const (); // scope 0 at $DIR/enum_opt.rs:61:16: 65:2
StorageDead(_1); // scope 0 at $DIR/enum_opt.rs:65:1: 65:2
return; // scope 0 at $DIR/enum_opt.rs:65:2: 65:2
}
bb1 (cleanup): {
resume; // scope 0 at $DIR/enum_opt.rs:61:1: 65:2
}
}