summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/switch_to_self.rs
blob: fc270fd33cf8451dd0682bd27604f14f5d8ae511 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// skip-filecheck
// Test that MatchBranchSimplification doesn't ICE on a SwitchInt where
// one of the targets is the block that the SwitchInt terminates.
#![crate_type = "lib"]
#![feature(core_intrinsics, custom_mir)]
use std::intrinsics::mir::*;

// EMIT_MIR switch_to_self.test.MatchBranchSimplification.diff
#[custom_mir(dialect = "runtime", phase = "post-cleanup")]
pub fn test(x: bool) {
    mir!(
        {
            Goto(bb0)
        }
        bb0 = {
            match x { false => bb0, _ => bb1 }
        }
        bb1 = {
            match x { false => bb0, _ => bb1 }
        }
    )
}