|
| | PPCOperandGeneratorT (InstructionSelectorT *selector) |
| |
| InstructionOperand | UseOperand (OpIndex node, ImmediateMode mode) |
| |
| bool | CanBeImmediate (OpIndex node, ImmediateMode mode) |
| |
| bool | CanBeImmediate (int64_t value, ImmediateMode mode) |
| |
Public Member Functions inherited from v8::internal::compiler::OperandGeneratorT |
| | OperandGeneratorT (InstructionSelectorT *selector) |
| |
| InstructionOperand | NoOutput () |
| |
| InstructionOperand | DefineAsRegister (turboshaft::OpIndex node) |
| |
| InstructionOperand | DefineSameAsInput (turboshaft::OpIndex node, int input_index) |
| |
| InstructionOperand | DefineSameAsFirst (turboshaft::OpIndex node) |
| |
| InstructionOperand | DefineAsFixed (turboshaft::OpIndex node, Register reg) |
| |
| template<typename FPRegType > |
| InstructionOperand | DefineAsFixed (turboshaft::OpIndex node, FPRegType reg) |
| |
| InstructionOperand | DefineAsConstant (turboshaft::OpIndex node) |
| |
| InstructionOperand | DefineAsLocation (turboshaft::OpIndex node, LinkageLocation location) |
| |
| InstructionOperand | DefineAsDualLocation (turboshaft::OpIndex node, LinkageLocation primary_location, LinkageLocation secondary_location) |
| |
| InstructionOperand | Use (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseAnyAtEnd (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseAny (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseRegisterOrSlotOrConstant (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseUniqueRegisterOrSlotOrConstant (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseRegister (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseRegisterAtEnd (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseUniqueSlot (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseUnique (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseUniqueRegister (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseRegister (turboshaft::OpIndex node, RegisterUseKind unique_reg) |
| |
| InstructionOperand | UseFixed (turboshaft::OpIndex node, Register reg) |
| |
| template<typename FPRegType > |
| InstructionOperand | UseFixed (turboshaft::OpIndex node, FPRegType reg) |
| |
| InstructionOperand | UseImmediate (int immediate) |
| |
| InstructionOperand | UseImmediate64 (int64_t immediate) |
| |
| InstructionOperand | UseImmediate (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseNegatedImmediate (turboshaft::OpIndex node) |
| |
| InstructionOperand | UseLocation (turboshaft::OpIndex node, LinkageLocation location) |
| |
| InstructionOperand | UsePointerLocation (LinkageLocation to_location, LinkageLocation from_location) |
| |
| InstructionOperand | TempRegister () |
| |
| int | AllocateVirtualRegister () |
| |
| InstructionOperand | DefineSameAsFirstForVreg (int vreg) |
| |
| InstructionOperand | DefineAsRegistertForVreg (int vreg) |
| |
| InstructionOperand | UseRegisterForVreg (int vreg) |
| |
| InstructionOperand | UseRegisterWithMode (turboshaft::OpIndex node, RegisterMode register_mode) |
| |
| InstructionOperand | TempDoubleRegister () |
| |
| InstructionOperand | TempSimd128Register () |
| |
| InstructionOperand | TempSimd256Register () |
| |
| InstructionOperand | TempRegister (Register reg) |
| |
| InstructionOperand | TempRegister (int code) |
| |
| template<typename FPRegType > |
| InstructionOperand | TempFpRegister (FPRegType reg) |
| |
| InstructionOperand | TempImmediate (int32_t imm) |
| |
| InstructionOperand | TempLocation (LinkageLocation location) |
| |
| InstructionOperand | Label (turboshaft::Block *block) |
| |
| | TurboshaftAdapter (turboshaft::Graph *graph) |
| |
| bool | is_load (turboshaft::OpIndex node) const |
| |
| bool | is_load_root_register (turboshaft::OpIndex node) const |
| |
| LoadView | load_view (turboshaft::OpIndex node) |
| |
| StoreView | store_view (turboshaft::OpIndex node) |
| |
| turboshaft::Graph * | turboshaft_graph () const |
| |
| turboshaft::Block * | block (turboshaft::Graph *schedule, turboshaft::OpIndex node) const |
| |
| RpoNumber | rpo_number (const turboshaft::Block *block) const |
| |
| const ZoneVector< turboshaft::Block * > & | rpo_order (turboshaft::Graph *schedule) |
| |
| bool | IsLoopHeader (const turboshaft::Block *block) const |
| |
| size_t | PredecessorCount (const turboshaft::Block *block) const |
| |
| turboshaft::Block * | PredecessorAt (const turboshaft::Block *block, size_t index) const |
| |
| base::iterator_range< turboshaft::Graph::OpIndexIterator > | nodes (const turboshaft::Block *block) |
| |
| bool | IsRetain (turboshaft::OpIndex node) const |
| |
| bool | IsHeapConstant (turboshaft::OpIndex node) const |
| |
| bool | IsExternalConstant (turboshaft::OpIndex node) const |
| |
| bool | IsRelocatableWasmConstant (turboshaft::OpIndex node) const |
| |
| bool | IsLoadOrLoadImmutable (turboshaft::OpIndex node) const |
| |
| bool | IsProtectedLoad (turboshaft::OpIndex node) const |
| |
| int | value_input_count (turboshaft::OpIndex node) const |
| |
| turboshaft::OpIndex | input_at (turboshaft::OpIndex node, size_t index) const |
| |
| base::Vector< const turboshaft::OpIndex > | inputs (turboshaft::OpIndex node) const |
| |
| turboshaft::Opcode | opcode (turboshaft::OpIndex node) const |
| |
| uint32_t | id (turboshaft::OpIndex node) const |
| |
| | 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 |
| |