2024-04-20 13:19:34 +02:00
|
|
|
//@ test-mir-pass: DataflowConstProp
|
2024-06-14 16:01:26 -07:00
|
|
|
//@ compile-flags: -Zdump-mir-exclude-alloc-bytes
|
2023-09-17 09:35:06 +00:00
|
|
|
// EMIT_MIR_FOR_EACH_BIT_WIDTH
|
2022-10-25 02:27:27 +02:00
|
|
|
|
|
|
|
// EMIT_MIR tuple.main.DataflowConstProp.diff
|
2024-01-08 20:21:23 -08:00
|
|
|
|
2024-01-11 23:22:33 -08:00
|
|
|
// CHECK-LABEL: fn main(
|
2022-10-25 02:27:27 +02:00
|
|
|
fn main() {
|
2024-01-11 23:22:33 -08:00
|
|
|
// CHECK: debug a => [[a:_.*]];
|
|
|
|
// CHECK: debug b => [[b:_.*]];
|
|
|
|
// CHECK: debug c => [[c:_.*]];
|
|
|
|
// CHECK: debug d => [[d:_.*]];
|
2024-01-08 20:21:23 -08:00
|
|
|
|
|
|
|
// CHECK: [[a]] = const (1_i32, 2_i32);
|
2022-10-25 02:27:27 +02:00
|
|
|
let mut a = (1, 2);
|
2024-01-08 20:21:23 -08:00
|
|
|
|
|
|
|
// CHECK: [[b]] = const 6_i32;
|
2022-11-09 18:03:30 +01:00
|
|
|
let b = a.0 + a.1 + 3;
|
2024-01-08 20:21:23 -08:00
|
|
|
|
|
|
|
// CHECK: [[a]] = const (2_i32, 3_i32);
|
2022-10-25 02:27:27 +02:00
|
|
|
a = (2, 3);
|
2024-01-08 20:21:23 -08:00
|
|
|
|
|
|
|
// CHECK: [[c]] = const 11_i32;
|
2022-11-09 18:03:30 +01:00
|
|
|
let c = a.0 + a.1 + b;
|
2023-09-12 16:44:53 +00:00
|
|
|
|
2024-01-08 20:21:23 -08:00
|
|
|
// CHECK: [[d]] = (const 6_i32, const (2_i32, 3_i32), const 11_i32);
|
2023-09-12 16:44:53 +00:00
|
|
|
let d = (b, a, c);
|
2022-10-25 02:27:27 +02:00
|
|
|
}
|