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, block arguments must match the expectations of the destination block.
 - 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: boolAre any of the input constraints FixedReg or FixedTied?
fixed_outs: boolAre any of the output constraints FixedReg or FixedTied?
tied_ops: boolAre any of the input/output constraints Tied (but not FixedTied)?
clobbers_flags: boolDoes this instruction clobber the CPU flags?
When true, SSA values of type iflags or fflags can not be live across the instruction.
Implementations
impl RecipeConstraints[src]
impl RecipeConstraints[src]Trait Implementations
impl Clone for RecipeConstraints[src]
impl Clone for RecipeConstraints[src]fn clone(&self) -> RecipeConstraints[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl PartialEq<RecipeConstraints> for RecipeConstraints[src]
impl PartialEq<RecipeConstraints> for RecipeConstraints[src]