Interface JitDefOp

All Superinterfaces:
JitOp
All Known Subinterfaces:
JitBinOp, JitBoolBinOp, JitBoolUnOp, JitFloatBinOp, JitFloatTestOp, JitFloatUnOp, JitIntBinOp, JitIntTestOp, JitIntUnOp, JitUnOp
All Known Implementing Classes:
JitBoolAndOp, JitBoolNegateOp, JitBoolOrOp, JitBoolXorOp, JitCallOtherDefOp, JitCatenateOp, JitCopyOp, JitFloatAbsOp, JitFloatAddOp, JitFloatCeilOp, JitFloatDivOp, JitFloatEqualOp, JitFloatFloat2FloatOp, JitFloatFloorOp, JitFloatInt2FloatOp, JitFloatLessEqualOp, JitFloatLessOp, JitFloatMultOp, JitFloatNaNOp, JitFloatNegOp, JitFloatNotEqualOp, JitFloatRoundOp, JitFloatSqrtOp, JitFloatSubOp, JitFloatTruncOp, JitInt2CompOp, JitIntAddOp, JitIntAndOp, JitIntCarryOp, JitIntDivOp, JitIntEqualOp, JitIntLeftOp, JitIntLessEqualOp, JitIntLessOp, JitIntMultOp, JitIntNegateOp, JitIntNotEqualOp, JitIntOrOp, JitIntRemOp, JitIntRightOp, JitIntSBorrowOp, JitIntSCarryOp, JitIntSDivOp, JitIntSExtOp, JitIntSLessEqualOp, JitIntSLessOp, JitIntSRemOp, JitIntSRightOp, JitIntSubOp, JitIntXorOp, JitIntZExtOp, JitLoadOp, JitLzCountOp, JitPhiOp, JitPopCountOp, JitSubPieceOp, JitSynthSubPieceOp

public interface JitDefOp extends JitOp
A p-code operator use-def node with an output
  • Method Details

    • canBeRemoved

      default boolean canBeRemoved()
      Description copied from interface: JitOp
      Indicates the operation can be removed if its output is never used.
      Specified by:
      canBeRemoved in interface JitOp
      Returns:
      true if removable
    • out

      JitOutVar out()
      The the use-def variable node for the output.
      Returns:
      the output
    • link

      default void link()
      Description copied from interface: JitOp
      Add this op to the JitVal.uses() of each input operand, and (if applicable) set the JitOutVar.definition() of the output operand to this op.
      Specified by:
      link in interface JitOp
    • unlink

      default void unlink()
      Description copied from interface: JitOp
      Remove this op from the JitVal.uses() of each input operand, and (if applicable) unset the JitOutVar.definition() of the output operand.
      Specified by:
      unlink in interface JitOp
    • type

      The required type behavior for the output
      Returns:
      the behavior