summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/dest-prop/dead_stores_better.rs
blob: c9895f35cf1d1653cdf608a0edd5b0c11deb9ed8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// skip-filecheck
// EMIT_MIR_FOR_EACH_PANIC_STRATEGY
// This is a copy of the `dead_stores_79191` test, except that we turn on DSE. This demonstrates
// that that pass enables this one to do more optimizations.

// unit-test: DestinationPropagation
// compile-flags: -Zmir-enable-passes=+DeadStoreElimination

fn id<T>(x: T) -> T {
    x
}

// EMIT_MIR dead_stores_better.f.DestinationPropagation.after.mir
pub fn f(mut a: usize) -> usize {
    let b = a;
    a = 5;
    a = b;
    id(a)
}

fn main() {
    f(0);
}