pub struct BranchInsts {
pub prefix: &'static str,
pub cond: &'static str,
pub test: &'static str,
pub if_true: &'static str,
pub if_false: &'static str,
pub jump: &'static str,
}Expand description
Every instruction a laid out branch is made of.
Fields§
§prefix: &'static strWhat a rule file and the machine IR put in front of this target’s opcodes, such as x64.,
which says which target a term belongs to and is not part of the opcode.
cond: &'static strWhat a lowering rule selects for a conditional branch, which is what the layout replaces.
It reads the condition and does nothing, which is as much of a branch as a rule can say. Naming it here is what lets the layout find one and be sure it has found one, rather than assuming that whatever a two-armed block ends with must be the branch.
test: &'static strReads the register the branch is on and sets the condition state from whether it is zero.
if_true: &'static strGoes to the block’s first successor when the condition held.
if_false: &'static strGoes to the block’s first successor when the condition did not hold.
jump: &'static strGoes to the block’s first successor.
Trait Implementations§
Source§impl Clone for BranchInsts
impl Clone for BranchInsts
Source§fn clone(&self) -> BranchInsts
fn clone(&self) -> BranchInsts
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more