Error checking: properly signal a crit-edge requirement failure (used for regalloc.rs fuzzer)

This commit is contained in:
Chris Fallin
2021-05-08 21:48:58 -07:00
parent f1fc9a8f7e
commit b9e89885c4
3 changed files with 11 additions and 13 deletions

View File

@@ -958,6 +958,8 @@ impl Output {
/// An error that prevents allocation.
#[derive(Clone, Debug)]
pub enum RegAllocError {
/// Critical edge is not split between given blocks.
CritEdge(Block, Block),
/// Invalid SSA for given vreg at given inst: multiple defs or
/// illegal use. `inst` may be `Inst::invalid()` if this concerns
/// a block param.