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}