Package ghidra.pcode.emu.jit.op
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
A p-code operator use-def node with an output
-
Method Summary
Modifier and TypeMethodDescriptiondefault booleanIndicates the operation can be removed if its output is never used.default voidlink()Add this op to theJitVal.uses()of each input operand, and (if applicable) set theJitOutVar.definition()of the output operand to this op.out()The the use-def variable node for the output.type()The required type behavior for the outputdefault voidunlink()Remove this op from theJitVal.uses()of each input operand, and (if applicable) unset theJitOutVar.definition()of the output operand.
-
Method Details
-
canBeRemoved
default boolean canBeRemoved()Description copied from interface:JitOpIndicates the operation can be removed if its output is never used.- Specified by:
canBeRemovedin interfaceJitOp- 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:JitOpAdd this op to theJitVal.uses()of each input operand, and (if applicable) set theJitOutVar.definition()of the output operand to this op. -
unlink
default void unlink()Description copied from interface:JitOpRemove this op from theJitVal.uses()of each input operand, and (if applicable) unset theJitOutVar.definition()of the output operand. -
type
JitTypeBehavior type()The required type behavior for the output- Returns:
- the behavior
-