Struct cranelift_codegen::isa::RecipeConstraints [−][src]
pub struct RecipeConstraints {
pub ins: &'static [OperandConstraint],
pub outs: &'static [OperandConstraint],
pub fixed_ins: bool,
pub fixed_outs: bool,
pub tied_ops: bool,
pub clobbers_flags: bool,
}Value operand constraints for an encoding recipe.
Fields
ins: &'static [OperandConstraint]
Constraints for the instruction's fixed value operands.
If the instruction takes a variable number of operands, the register constraints for those operands must be computed dynamically.
- For branches and jumps, EBB arguments must match the expectations of the destination EBB.
- For calls and returns, the calling convention ABI specifies constraints.
outs: &'static [OperandConstraint]
Constraints for the instruction's fixed results.
If the instruction produces a variable number of results, it's probably a call and the constraints must be derived from the calling convention ABI.
fixed_ins: bool
Are any of the input constraints FixedReg?
fixed_outs: bool
Are any of the output constraints FixedReg?
tied_ops: bool
Are there any tied operands?
clobbers_flags: bool
Does this instruction clobber the CPU flags?
When true, SSA values of type iflags or fflags can not be live across the instruction.
Methods
impl RecipeConstraints[src]
impl RecipeConstraintspub fn satisfied(
&self,
inst: Inst,
divert: &RegDiversions,
func: &Function
) -> bool[src]
pub fn satisfied(
&self,
inst: Inst,
divert: &RegDiversions,
func: &Function
) -> boolCheck that these constraints are satisfied by the operands on inst.
Trait Implementations
impl PartialEq for RecipeConstraints[src]
impl PartialEq for RecipeConstraintsfn eq(&self, other: &RecipeConstraints) -> bool[src]
fn eq(&self, other: &RecipeConstraints) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &RecipeConstraints) -> bool[src]
fn ne(&self, other: &RecipeConstraints) -> boolThis method tests for !=.
impl Clone for RecipeConstraints[src]
impl Clone for RecipeConstraintsfn clone(&self) -> RecipeConstraints[src]
fn clone(&self) -> RecipeConstraintsReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
Auto Trait Implementations
impl Send for RecipeConstraints
impl Send for RecipeConstraintsimpl Sync for RecipeConstraints
impl Sync for RecipeConstraints