/arkcompiler/ets_runtime/ecmascript/compiler/ |
H A D | number_speculative_lowering.cpp | 127 case TypedBinOp::TYPED_STRICTEQ: in VisitTypedBinaryOp() 128 case TypedBinOp::TYPED_STRICTNOTEQ: { in VisitTypedBinaryOp() 132 case TypedBinOp::TYPED_EQ: in VisitTypedBinaryOp() 133 case TypedBinOp::TYPED_NOTEQ: { in VisitTypedBinaryOp() 166 TypedBinOp Op = acc_.GetTypedBinaryOp(gate); in VisitNumberBinaryOp() 168 case TypedBinOp::TYPED_ADD: { in VisitNumberBinaryOp() 169 VisitNumberCalculate<TypedBinOp::TYPED_ADD>(gate); in VisitNumberBinaryOp() 172 case TypedBinOp::TYPED_SUB: { in VisitNumberBinaryOp() 173 VisitNumberCalculate<TypedBinOp::TYPED_SUB>(gate); in VisitNumberBinaryOp() 176 case TypedBinOp in VisitNumberBinaryOp() [all...] |
H A D | range_analysis.cpp | 143 case TypedBinOp::TYPED_ADD: in VisitTypedBinaryOp() 144 range = GetRangeOfCalculate<TypedBinOp::TYPED_ADD>(gate); in VisitTypedBinaryOp() 146 case TypedBinOp::TYPED_SUB: in VisitTypedBinaryOp() 147 range = GetRangeOfCalculate<TypedBinOp::TYPED_SUB>(gate); in VisitTypedBinaryOp() 149 case TypedBinOp::TYPED_MOD: in VisitTypedBinaryOp() 150 range = GetRangeOfCalculate<TypedBinOp::TYPED_MOD>(gate); in VisitTypedBinaryOp() 152 case TypedBinOp::TYPED_MUL: in VisitTypedBinaryOp() 153 range = GetRangeOfCalculate<TypedBinOp::TYPED_MUL>(gate); in VisitTypedBinaryOp() 155 case TypedBinOp::TYPED_SHR: in VisitTypedBinaryOp() 156 range = GetRangeOfShift<TypedBinOp in VisitTypedBinaryOp() [all...] |
H A D | number_speculative_lowering.h | 60 template<TypedBinOp Op> 62 template<TypedBinOp Op> 64 template<TypedBinOp Op> 66 template<TypedBinOp Op> 71 template<TypedBinOp Op> 77 template<TypedBinOp Op> 79 template<TypedBinOp Op> 82 template<TypedBinOp Op> 84 template<TypedBinOp Op> 86 template<TypedBinOp O [all...] |
H A D | induction_variable_analysis.cpp | 43 TypedBinOp binOp = acc_.GetTypedBinaryOp(valueGate); in IsInductionVariable() 44 if (binOp != TypedBinOp::TYPED_ADD && binOp != TypedBinOp::TYPED_SUB) { in IsInductionVariable() 82 [[maybe_unused]]TypedBinOp binOp = acc_.GetTypedBinaryOp(valueGate); in GetStartAndStride() 83 ASSERT(binOp == TypedBinOp::TYPED_ADD || binOp == TypedBinOp::TYPED_SUB); in GetStartAndStride() 96 if (acc_.GetTypedBinaryOp(valueGate) == TypedBinOp::TYPED_SUB) { in GetStartAndStride() 112 return acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_GREATEREQ || in IsLessOrGreaterCmp() 113 acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_GREATER || in IsLessOrGreaterCmp() 114 acc_.GetTypedBinaryOp(gate) == TypedBinOp in IsLessOrGreaterCmp() [all...] |
H A D | array_bounds_check_elimination.cpp | 49 ArrayBoundsCheckElimination::Bound::Bound(TypedBinOp op, GateRef gate, int constant) in Bound() 52 case TypedBinOp::TYPED_EQ: { in Bound() 59 case TypedBinOp::TYPED_NOTEQ: { in Bound() 74 case TypedBinOp::TYPED_GREATEREQ: { in Bound() 81 case TypedBinOp::TYPED_LESSEQ: { in Bound() 182 if (op == TypedBinOp::TYPED_AND && (acc_.IsConstant(x) || acc_.IsConstant(y))) { in DoBinaryArithmeticOp() 192 } else if (op == TypedBinOp::TYPED_MOD) { in DoBinaryArithmeticOp() 207 } else if (((acc_.IsConstant(x) || acc_.IsConstant(y)) && op == TypedBinOp::TYPED_ADD) || in DoBinaryArithmeticOp() 208 (acc_.IsConstant(y) && op == TypedBinOp::TYPED_SUB)) { in DoBinaryArithmeticOp() 216 if (op == TypedBinOp in DoBinaryArithmeticOp() [all...] |
H A D | array_bounds_check_elimination.h | 42 Bound(TypedBinOp op, GateRef gate, int constant); 125 void AddIfCondition(IntegerStack &pushed, GateRef x, GateRef y, TypedBinOp op); 137 void UpdateBound(IntegerStack &pushed, GateRef x, TypedBinOp op, GateRef y, int constValue); 158 GateRef Predicate(GateRef left, TypedBinOp cond, GateRef right); 159 GateRef PredicateCmpWithConst(GateRef left, TypedBinOp cond, int right); 160 GateRef PredicateAdd(GateRef left, int leftConst, TypedBinOp cond, GateRef right); 161 GateRef PredicateAddCmpWithConst(GateRef left, int leftConst, TypedBinOp cond, int right);
|
H A D | mcr_gate_meta_data.cpp | 42 std::string GateMetaData::Str(TypedBinOp op) in Str() 44 const std::map<TypedBinOp, const char *> strMap = { in Str() 45 #define TYPED_BIN_OP_NAME_MAP(OP) { TypedBinOp::OP, #OP }, in Str()
|
H A D | range_analysis.h | 48 template<TypedBinOp Op> 50 template<TypedBinOp Op>
|
H A D | typed_bytecode_lowering.h | 111 template<TypedBinOp Op> 115 template<TypedBinOp Op> 214 template<TypedBinOp Op> 216 template<TypedBinOp Op> 218 template<TypedBinOp Op>
|
H A D | ts_hcr_opt_pass.cpp | 58 TypedBinOp op = acc_.GetTypedBinaryOp(gate); in VisitStringBinOp() 60 case TypedBinOp::TYPED_EQ: { in VisitStringBinOp() 162 return builder_.TypedBinaryOp<TypedBinOp::TYPED_EQ>(left, right, ParamType::IntType()); in ConvertToSingleCharComparison()
|
H A D | number_speculative_retype.cpp | 364 if (acc_.GetTypedBinaryOp(gate) != TypedBinOp::TYPED_STRICTEQ && in VisitTypedBinaryOp() 365 acc_.GetTypedBinaryOp(gate) != TypedBinOp::TYPED_STRICTNOTEQ && in VisitTypedBinaryOp() 366 acc_.GetTypedBinaryOp(gate) != TypedBinOp::TYPED_EQ && in VisitTypedBinaryOp() 367 acc_.GetTypedBinaryOp(gate) != TypedBinOp::TYPED_NOTEQ) { in VisitTypedBinaryOp() 405 ASSERT(acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_STRICTEQ || in VisitUndefinedEqualCompareOrUndefinedNotEqualCompare() 406 acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_STRICTNOTEQ || in VisitUndefinedEqualCompareOrUndefinedNotEqualCompare() 407 acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_EQ || in VisitUndefinedEqualCompareOrUndefinedNotEqualCompare() 408 acc_.GetTypedBinaryOp(gate) == TypedBinOp::TYPED_NOTEQ); in VisitUndefinedEqualCompareOrUndefinedNotEqualCompare() 477 TypedBinOp op = acc_.GetTypedBinaryOp(gate); in VisitStringBinaryOp() 479 case TypedBinOp in VisitStringBinaryOp() [all...] |
H A D | gate_accessor.cpp | 395 TypedBinOp GateAccessor::GetTypedBinaryOp(GateRef gate) const in GetTypedBinaryOp() 2054 TypedBinOp GateAccessor::GetRevCompareOpForTypedBinOp(TypedBinOp op) in GetRevCompareOpForTypedBinOp() 2057 case TypedBinOp::TYPED_LESS: in GetRevCompareOpForTypedBinOp() 2058 return TypedBinOp::TYPED_GREATEREQ; in GetRevCompareOpForTypedBinOp() 2059 case TypedBinOp::TYPED_LESSEQ: in GetRevCompareOpForTypedBinOp() 2060 return TypedBinOp::TYPED_GREATER; in GetRevCompareOpForTypedBinOp() 2061 case TypedBinOp::TYPED_GREATER: in GetRevCompareOpForTypedBinOp() 2062 return TypedBinOp::TYPED_LESSEQ; in GetRevCompareOpForTypedBinOp() 2063 case TypedBinOp in GetRevCompareOpForTypedBinOp() [all...] |
H A D | type_info_accessors.cpp | 69 TypedBinOp binOp = accessor.GetTypedBinOp(); in IsTrustedBooleanType() 71 case TypedBinOp::TYPED_EQ: in IsTrustedBooleanType() 72 case TypedBinOp::TYPED_LESS: in IsTrustedBooleanType() 73 case TypedBinOp::TYPED_NOTEQ: in IsTrustedBooleanType() 74 case TypedBinOp::TYPED_LESSEQ: in IsTrustedBooleanType() 75 case TypedBinOp::TYPED_GREATER: in IsTrustedBooleanType() 76 case TypedBinOp::TYPED_STRICTEQ: in IsTrustedBooleanType() 77 case TypedBinOp::TYPED_GREATEREQ: in IsTrustedBooleanType() 78 case TypedBinOp::TYPED_STRICTNOTEQ: in IsTrustedBooleanType() 123 TypedBinOp binO in IsTrustedNumberType() [all...] |
H A D | typed_bytecode_lowering.cpp | 142 LowerTypedBinOp<TypedBinOp::TYPED_ADD>(gate); in Lower() 145 LowerTypedBinOp<TypedBinOp::TYPED_SUB>(gate); in Lower() 148 LowerTypedBinOp<TypedBinOp::TYPED_MUL>(gate); in Lower() 151 LowerTypedBinOp<TypedBinOp::TYPED_DIV>(gate); in Lower() 154 LowerTypedBinOp<TypedBinOp::TYPED_MOD>(gate); in Lower() 157 LowerTypedEqOrNotEq<TypedBinOp::TYPED_EQ>(gate); in Lower() 160 LowerTypedEqOrNotEq<TypedBinOp::TYPED_NOTEQ>(gate); in Lower() 163 LowerTypedBinOp<TypedBinOp::TYPED_LESS>(gate); in Lower() 166 LowerTypedBinOp<TypedBinOp::TYPED_LESSEQ>(gate); in Lower() 169 LowerTypedBinOp<TypedBinOp in Lower() [all...] |
H A D | mcr_gate_meta_data.h | 110 enum class TypedBinOp : uint8_t { class 278 TypedBinOp GetTypedBinOp() const in GetTypedBinOp() 283 static uint64_t ToValue(ParamType operandType, TypedBinOp binOp) in ToValue() 290 using TypedBinOpBits = TypedValueBits::NextField<TypedBinOp, OPRAND_TYPE_BITS>;
|
H A D | gate_accessor.h | 406 TypedBinOp GetTypedBinaryOp(GateRef gate) const; 624 TypedBinOp GetRevCompareOpForTypedBinOp(TypedBinOp op); 625 TypedBinOp GetSwapCompareOpForTypedBinOp(TypedBinOp op);
|
H A D | share_gate_meta_data.h | 39 enum class TypedBinOp : uint8_t; class 188 static std::string Str(TypedBinOp op);
|
H A D | circuit_builder.h | 567 GateRef InsertTypedBinaryop(GateRef left, GateRef right, TypedBinOp op); 568 GateRef InsertRangeCheckPredicate(GateRef left, TypedBinOp cond, GateRef right); 573 template<TypedBinOp Op>
|
H A D | mcr_circuit_builder.h | 547 template<TypedBinOp Op>
|
H A D | typed_hcr_lowering.cpp | 574 TypedBinOp cond = accessor.GetTypedBinOp(); in LowerRangeCheckPredicate() 578 case TypedBinOp::TYPED_GREATER: in LowerRangeCheckPredicate() 581 case TypedBinOp::TYPED_GREATEREQ: in LowerRangeCheckPredicate() 584 case TypedBinOp::TYPED_LESS: in LowerRangeCheckPredicate() 587 case TypedBinOp::TYPED_LESSEQ: in LowerRangeCheckPredicate()
|
H A D | mcr_circuit_builder.cpp | 1103 GateRef CircuitBuilder::InsertTypedBinaryop(GateRef left, GateRef right, TypedBinOp op) in InsertTypedBinaryop() 1119 GateRef CircuitBuilder::InsertRangeCheckPredicate(GateRef left, TypedBinOp cond, GateRef right) in InsertRangeCheckPredicate()
|
/arkcompiler/ets_runtime/ecmascript/compiler/tests/ |
H A D | meta_data_equal_test.cpp | 43 using ecmascript::kungfu::TypedBinOp; 214 TypedBinOp::TYPED_ADD); in HWTEST_F_L0() 222 TypedBinOp::TYPED_ADD); in HWTEST_F_L0()
|
H A D | loop_optimization_test.cpp | 55 using ecmascript::kungfu::TypedBinOp; 86 auto cmp = builder.TypedBinaryOp<TypedBinOp::TYPED_ADD>(*index, loadLength, ParamType::IntType()); in HWTEST_F_L0() 93 auto sumAdd = builder.TypedBinaryOp<TypedBinOp::TYPED_ADD>(*sum, loadElement, ParamType::IntType()); in HWTEST_F_L0() 96 auto indexInc = builder.TypedBinaryOp<TypedBinOp::TYPED_ADD>(*index, builder.Int32(1), ParamType::IntType()); in HWTEST_F_L0()
|
H A D | constant_folding_test.cpp | 51 using ecmascript::kungfu::TypedBinOp;
|