|
| OperationMatcher (const Graph &graph) |
|
template<class Op > |
bool | Is (V< AnyOrNone > op_idx) const |
|
template<class Op > |
const underlying_operation_t< Op > * | TryCast (V< AnyOrNone > op_idx) const |
|
template<class Op > |
const underlying_operation_t< Op > & | Cast (V< AnyOrNone > op_idx) const |
|
const Operation & | Get (V< AnyOrNone > op_idx) const |
|
V< AnyOrNone > | Index (const Operation &op) const |
|
bool | MatchZero (V< Any > matched) const |
|
bool | MatchIntegralZero (V< Any > matched) const |
|
bool | MatchSmiZero (V< Any > matched) const |
|
bool | MatchFloat32Constant (V< Any > matched, float *constant) const |
|
bool | MatchFloat32Constant (V< Any > matched, i::Float32 *constant) const |
|
bool | MatchFloat64Constant (V< Any > matched, double *constant) const |
|
bool | MatchFloat64Constant (V< Any > matched, i::Float64 *constant) const |
|
bool | MatchFloat (V< Any > matched, double *value) const |
|
bool | MatchFloat (V< Any > matched, double value) const |
|
bool | MatchNaN (V< Float > matched) const |
|
bool | MatchHeapConstant (V< Any > matched, Handle< HeapObject > *tagged=nullptr) const |
|
bool | MatchIntegralWordConstant (V< Any > matched, WordRepresentation rep, uint64_t *unsigned_constant, int64_t *signed_constant=nullptr) const |
|
bool | MatchIntegralWordConstant (V< Any > matched, WordRepresentation rep, int64_t *signed_constant) const |
|
bool | MatchIntegralWord32Constant (V< Any > matched, uint32_t *constant) const |
|
bool | MatchIntegralWord64Constant (V< Any > matched, uint64_t *constant) const |
|
bool | MatchIntegralWord32Constant (V< Any > matched, uint32_t constant) const |
|
bool | MatchIntegralWord64Constant (V< Any > matched, int64_t *constant) const |
|
bool | MatchIntegralWord32Constant (V< Any > matched, int32_t *constant) const |
|
template<typename T = intptr_t> |
bool | MatchIntegralWordPtrConstant (V< Any > matched, T *constant) const |
|
bool | MatchSignedIntegralConstant (V< Any > matched, int64_t *constant) const |
|
bool | MatchUnsignedIntegralConstant (V< Any > matched, uint64_t *constant) const |
|
bool | MatchExternalConstant (V< Any > matched, ExternalReference *reference) const |
|
bool | MatchWasmStubCallConstant (V< Any > matched, uint64_t *stub_id) const |
|
template<typename T > |
bool | MatchChange (V< Any > matched, VMatch< T > input, OMatch< ChangeOp::Kind > kind={}, OMatch< ChangeOp::Assumption > assumption={}, OMatch< RegisterRepresentation > from={}, OMatch< RegisterRepresentation > to={}) const |
|
bool | MatchTruncateWord64ToWord32 (V< Any > matched, VMatch< Word64 > input) const |
|
template<typename T >
requires (IsWord<T>()) |
bool | MatchWordBinop (V< Any > matched, VMatch< T > left, VMatch< T > right, OMatch< WordBinopOp::Kind > kind={}, OMatch< WordRepresentation > rep={}) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchWordAdd (V< Any > matched, V< T > *left, V< T > *right, WordRepresentation rep) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchWordSub (V< Any > matched, V< T > *left, V< T > *right, WordRepresentation rep) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchWordMul (V< Any > matched, V< T > *left, V< T > *right, WordRepresentation rep) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchBitwiseAnd (V< Any > matched, V< T > *left, V< T > *right, WordRepresentation rep) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchBitwiseAndWithConstant (V< Any > matched, V< T > *value, uint64_t *constant, WordRepresentation rep) const |
|
template<typename T > |
bool | MatchEqual (V< Any > matched, V< T > *left, V< T > *right) const |
|
bool | MatchFloatUnary (V< Any > matched, V< Float > *input, FloatUnaryOp::Kind kind, FloatRepresentation rep) const |
|
bool | MatchFloatRoundDown (V< Any > matched, V< Float > *input, FloatRepresentation rep) const |
|
bool | MatchFloatBinary (V< Any > matched, V< Float > *left, V< Float > *right, FloatBinopOp::Kind kind, FloatRepresentation rep) const |
|
bool | MatchFloatSub (V< Any > matched, V< Float > *left, V< Float > *right, FloatRepresentation rep) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchConstantShift (V< Any > matched, V< T > *input, ShiftOp::Kind *kind, WordRepresentation *rep, int *amount) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchConstantShift (V< Any > matched, V< T > *input, ShiftOp::Kind kind, WordRepresentation rep, int *amount) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchConstantRightShift (V< Any > matched, V< T > *input, WordRepresentation rep, int *amount) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchConstantLeftShift (V< Any > matched, V< T > *input, WordRepresentation rep, int *amount) const |
|
template<class T >
requires (IsWord<T>()) |
bool | MatchConstantShiftRightArithmeticShiftOutZeros (V< Any > matched, V< T > *input, WordRepresentation rep, uint16_t *amount) const |
|
bool | MatchPhi (V< Any > matched, std::optional< int > input_count=std::nullopt) const |
|
bool | MatchPowerOfTwoWordConstant (V< Any > matched, int64_t *ret_cst, WordRepresentation rep) const |
|
bool | MatchPowerOfTwoWord32Constant (V< Any > matched, int32_t *divisor) const |
|
Definition at line 85 of file operation-matcher.h.