pulsar_ir/
branch_condition.rs

1// Copyright (C) 2024 Ethan Uppal. All rights reserved.
2use super::operand::Operand;
3use std::fmt::Display;
4
5#[derive(PartialEq, Eq, Hash, Clone, Copy)]
6pub enum BranchCondition {
7    Always,
8    Never,
9    Conditional(Operand)
10}
11
12impl Display for BranchCondition {
13    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14        match &self {
15            Self::Always => write!(f, "always"),
16            Self::Never => write!(f, "never"),
17            Self::Conditional(condition) => write!(f, "if {} != 0", condition)
18        }
19    }
20}