/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/ |
H A D | peepholes.cpp | 118 void Peepholes::VisitAddFinalize([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1) in VisitAddFinalize() argument 128 if (input0->GetOpcode() == Opcode::Add && input1->GetOpcode() == Opcode::Sub) { in VisitAddFinalize() 129 std::swap(input0, input1); in VisitAddFinalize() 132 if (input0->GetOpcode() == Opcode::Sub && input1->GetOpcode() == Opcode::Add) { in VisitAddFinalize() 133 if (visitor->TrySimplifyAddSubAdd(inst, input0, input1)) { in VisitAddFinalize() 138 if (input0->GetOpcode() == Opcode::Sub && input1->GetOpcode() == Opcode::Sub) { in VisitAddFinalize() 139 if (visitor->TrySimplifyAddSubSub(inst, input0, input1)) { in VisitAddFinalize() 248 auto input1 = inst->GetInput(1).GetInst(); in VisitAdd() local 249 if (input0->GetOpcode() == Opcode::Neg && input1->GetOpcode() == Opcode::Neg) { in VisitAdd() 251 if (input0->HasSingleUser() && input1 in VisitAdd() 277 VisitSubFinalize([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1) VisitSubFinalize() argument 355 auto input1 = inst->GetInput(1).GetInst(); VisitSub() local 396 VisitMulOneConst([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1) VisitMulOneConst() argument 478 auto input1 = inst->GetInput(1).GetInst(); VisitMul() local 512 auto input1 = inst->GetInput(1).GetInst(); VisitDiv() local 701 ApplyForCastU16(GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1) ApplyForCastU16() argument 723 auto input1 = inst->GetInput(1).GetInst(); VisitAnd() local 806 auto input1 = inst->GetInput(1).GetInst(); VisitOr() local 870 auto input1 = inst->GetInput(1).GetInst(); VisitXor() local 974 TrySimplifyCompareAnyTypeCase1(Inst *inst, Inst *input0, Inst *input1) TrySimplifyCompareAnyTypeCase1() argument 996 TrySimplifyCompareAnyTypeCase2(Inst *inst, Inst *input0, Inst *input1) TrySimplifyCompareAnyTypeCase2() argument 1047 auto input1 = cmpInst->GetInput(1).GetInst(); TrySimplifyCompareAnyType() local 1615 CreateAndInsertInst(Opcode newOpc, Inst *currInst, Inst *input0, Inst *input1) CreateAndInsertInst() argument 1654 auto input1 = inst->GetInput(1).GetInst(); TrySimplifyShifts() local 1707 auto input1 = inst->GetInput(1).GetInst(); TrySimplifyAddSubWithZeroInput() local 1728 auto input1 = inst->GetInput(1).GetInst(); TrySimplifyAddSubWithConstInput() local 1755 TrySimplifyAddSub(Inst *inst, Inst *input0, Inst *input1) TrySimplifyAddSub() argument 1770 TrySimplifyAddSubAdd(Inst *inst, Inst *input0, Inst *input1) TrySimplifyAddSubAdd() argument 1801 TrySimplifyAddSubSub(Inst *inst, Inst *input0, Inst *input1) TrySimplifyAddSubSub() argument 1835 TrySimplifySubAddAdd(Inst *inst, Inst *input0, Inst *input1) TrySimplifySubAddAdd() argument 1900 auto input1 = inst->GetInput(1).GetInst(); CanReassociateShlShlAddSub() local 1967 auto input1 = inst->GetInput(1).GetInst(); TryReassociateShlShlAddSub() local 1998 auto input1 = inst->GetInput(1).GetInst(); TrySimplifyNeg() local 2057 auto input1 = inst->GetInput(1).GetInst(); TryReplaceDivByShift() local 2231 auto input1 = input->GetInput(1).GetInst(); TrySimplifyCmpCompareWithZero() local 2256 TrySimplifyFloatCmpCompare(Inst **input0, Inst **input1, DataType::Type *cmpOpType, Inst *compareInput, bool *swap) TrySimplifyFloatCmpCompare() argument 2291 auto input1 = inst->GetInput(1).GetInst(); TrySimplifyTestEqualInputs() local 2738 [[maybe_unused]] auto input1 = oldInst->GetInput(1).GetInst(); CreateCompareInsteadOfXorAdd() local 2842 auto input1 = inst->GetInput(1).GetInst(); IsNegationPattern() local [all...] |
H A D | const_folding.cpp | 344 auto input1 = inst->GetInput(1); in ConstFoldingAdd() local 346 if (input0.GetInst()->IsConst() && input1.GetInst()->IsConst()) { in ConstFoldingAdd() 348 auto cnst1 = static_cast<ConstantInst *>(input1.GetInst()); in ConstFoldingAdd() 374 auto input1 = inst->GetInput(1); in ConstFoldingSub() local 376 if (input0.GetInst()->IsConst() && input1.GetInst()->IsConst()) { in ConstFoldingSub() 379 auto cnst1 = static_cast<ConstantInst *>(input1.GetInst()); in ConstFoldingSub() 397 if (input0.GetInst() == input1.GetInst() && DataType::GetCommonType(inst->GetType()) == DataType::INT64) { in ConstFoldingSub() 410 auto input1 = inst->GetInput(1).GetInst(); in ConstFoldingMul() local 413 if (input0->IsConst() && input1->IsConst()) { in ConstFoldingMul() 415 auto cnst1 = static_cast<ConstantInst *>(input1); in ConstFoldingMul() 451 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingBinaryMathWithNan() local 500 auto input1 = inst->GetDataFlowInput(1); ConstFoldingDiv() local 548 auto input1 = inst->GetInput(1); ConstFoldingMin() local 596 auto input1 = inst->GetInput(1); ConstFoldingMax() local 651 auto input1 = inst->GetDataFlowInput(1); ConstFoldingMod() local 689 auto input1 = inst->GetInput(1); ConstFoldingShl() local 714 auto input1 = inst->GetInput(1); ConstFoldingShr() local 745 auto input1 = inst->GetInput(1); ConstFoldingAShr() local 774 auto input1 = inst->GetInput(1); ConstFoldingAnd() local 801 auto input1 = inst->GetInput(1); ConstFoldingOr() local 828 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingXor() local 890 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingCmpFloatNan() local 921 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingCmp() local 1002 ConstFoldingCompareEqualInputs(Inst *inst, Inst *input0, Inst *input1) ConstFoldingCompareEqualInputs() argument 1049 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingCompareFloatNan() local 1091 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingCompareIntConstant() local 1114 auto input1 = inst->GetInput(1).GetInst(); ConstFoldingCompare() local [all...] |
H A D | peepholes.h | 73 static void VisitAddFinalize([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1); 75 static void VisitSubFinalize([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1); 76 static void VisitMulOneConst([[maybe_unused]] GraphVisitor *v, Inst *inst, Inst *input0, Inst *input1); 141 static Inst *CreateAndInsertInst(Opcode newOpc, Inst *currInst, Inst *input0, Inst *input1 = nullptr); 152 void TrySimplifyAddSub(Inst *inst, Inst *input0, Inst *input1); 153 bool TrySimplifyAddSubAdd(Inst *inst, Inst *input0, Inst *input1); 154 bool TrySimplifyAddSubSub(Inst *inst, Inst *input0, Inst *input1); 155 bool TrySimplifySubAddAdd(Inst *inst, Inst *input0, Inst *input1); 163 bool TrySimplifyFloatCmpCompare(Inst **input0, Inst **input1, DataType::Type *cmpOpType, Inst *compareInput, 169 static bool TrySimplifyCompareAnyTypeCase1(Inst *inst, Inst *input0, Inst *input1); [all...] |
H A D | vn.cpp | 97 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); in AddCommutativeInst() local 99 ASSERT(input1->GetVN() != INVALID_VN); in AddCommutativeInst() 100 if (input0->GetId() > input1->GetId()) { in AddCommutativeInst() 102 obj->Add(input1->GetVN()); in AddCommutativeInst() 104 obj->Add(input1->GetVN()); in AddCommutativeInst()
|
H A D | memory_barriers.cpp | 59 void OptimizeMemoryBarriers::CheckTwoInputs(Inst *input1, Inst *input2) in CheckTwoInputs() argument 61 if (CheckInst(input1) || CheckInst(input2)) { in CheckTwoInputs()
|
H A D | memory_barriers.h | 70 void CheckTwoInputs(Inst *input1, Inst *input2);
|
H A D | checks_elimination.cpp | 423 auto input1 = inst->GetInput(0).GetInst(); in VisitAddOverflowCheck() local 426 visitor->TryRemoveDominatedChecks<Opcode::AddOverflowCheck>(inst, [input1, input2](Inst *userInst) { in VisitAddOverflowCheck() 427 return (userInst->GetInput(0) == input1 && userInst->GetInput(1) == input2) || in VisitAddOverflowCheck() 428 (userInst->GetInput(0) == input2 && userInst->GetInput(1) == input1); in VisitAddOverflowCheck() 436 auto input1 = inst->GetInput(0).GetInst(); in VisitSubOverflowCheck() local 439 visitor->TryRemoveDominatedChecks<Opcode::SubOverflowCheck>(inst, [input1, input2](Inst *userInst) { in VisitSubOverflowCheck() 440 return (userInst->GetInput(0) == input1 && userInst->GetInput(1) == input2); in VisitSubOverflowCheck() 448 auto input1 = inst->GetInput(0).GetInst(); in VisitNegOverflowAndZeroCheck() local 451 inst, [input1](Inst *userInst) { return (userInst->GetInput(0) == input1); }); in VisitNegOverflowAndZeroCheck() [all...] |
H A D | lowering.cpp | 533 auto input1 = inst->GetInput(1).GetInst(); in VisitCompare() local 540 if (input1->GetType() == DataType::BOOL && input0->IsConst() && input0->CastToConstant()->GetIntValue() == 0U) { in VisitCompare() 541 std::swap(input0, input1); in VisitCompare() 546 input0->GetType() == DataType::BOOL && input1->IsConst() && input1->CastToConstant()->GetIntValue() == 0U; in VisitCompare() 1250 compiler::Inst *input1 = ifInst->GetInput(1).GetInst(); in OptimizeIfInput() local 1252 if (input0->IsDominate(input1)) { in OptimizeIfInput() 1253 ifInst->SetInput(0, input1); in OptimizeIfInput()
|
H A D | memory_coalescing.cpp | 851 auto input1 = inst->GetInput(1).GetInst(); in RemoveAddI() local 852 if (input1->GetOpcode() == Opcode::AddI) { in RemoveAddI() 853 uint64_t imm = input1->CastToAddI()->GetImm(); in RemoveAddI() 859 inst->SetInput(1, input1->GetInput(0).GetInst()); in RemoveAddI()
|
/arkcompiler/runtime_core/static_core/bytecode_optimizer/ |
H A D | canonicalization.cpp | 40 auto input1 = inst->GetInput(1U).GetInst(); in IsDominateReverseInputs() local 41 return input0->IsDominate(input1); in IsDominateReverseInputs() 55 const compiler::Inst *input1) in BetterToSwapCompareInputs() 60 if (!input1->IsConst()) { in BetterToSwapCompareInputs() 67 return ConstantFitsCompareImm(input0, size) && !ConstantFitsCompareImm(input1, size); in BetterToSwapCompareInputs() 76 auto input1 = inst->GetInput(1U).GetInst(); in SwapInputsIfNecessary() local 77 if ((inst->GetOpcode() == compiler::Opcode::Compare) && !BetterToSwapCompareInputs(inst, input0, input1)) { in SwapInputsIfNecessary() 105 // It is not allowed to move a constant input1 with a single user (it's processed Compare instruction). 109 auto input1 = inst->GetInput(1U).GetInst(); in AllowSwap() local 110 if (!input1 in AllowSwap() 54 BetterToSwapCompareInputs(const compiler::Inst *inst, const compiler::Inst *input0, const compiler::Inst *input1) BetterToSwapCompareInputs() argument [all...] |
/arkcompiler/runtime_core/static_core/plugins/ets/compiler/optimizer/ |
H A D | ets_intrinsics_peephole.cpp | 26 auto input1 = intrinsic->GetInput(1).GetInst(); in ReplaceWithCompareEQ() local 34 ASSERT(input0->GetType() == input1->GetType()); in ReplaceWithCompareEQ() 38 compare->SetInput(1, input1); in ReplaceWithCompareEQ() 101 auto input1 = intrinsic->GetInput(1).GetInst(); in PeepholeStringEquals() local 102 if (input0->IsNullPtr() || input1->IsNullPtr()) { in PeepholeStringEquals() 117 auto input1 = inst->GetInput(1).GetInst(); in GetStringFromLength() local 118 if (!input1->IsConst() || input1->CastToConstant()->GetRawValue() != 1) { in GetStringFromLength() 295 auto input1 = intrinsic->GetInput(1).GetInst(); in PeepholeEquals() local 298 if (input0 == input1 || (isNullis in PeepholeEquals() [all...] |
/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/ |
H A D | bounds_analysis.cpp | 938 auto input1 = inst->GetInput(1).GetInst(); in MergePhiPredecessors() local 939 auto loop1 = input1->GetBasicBlock()->GetLoop(); in MergePhiPredecessors() 940 if (!(inst->IsAddSub() && (input0->IsPhi() || input1->IsPhi()) && in MergePhiPredecessors() 1364 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); in CalcNewBoundsRangeAdd() local 1366 auto range1 = bri->FindBoundsRange(inst->GetBasicBlock(), input1); in CalcNewBoundsRangeAdd() 1378 } else if (IsLenArray(input1) && range0.IsNegative()) { in CalcNewBoundsRangeAdd() 1379 range.SetLenArray(input1); in CalcNewBoundsRangeAdd() 1388 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); in CalcNewBoundsRangeSub() local 1390 auto range1 = bri->FindBoundsRange(inst->GetBasicBlock(), input1); in CalcNewBoundsRangeSub() 1407 auto input1 in CalcNewBoundsRangeMod() local 1428 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeMul() local 1440 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeDiv() local 1455 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeShr() local 1470 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeAShr() local 1485 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeShl() local 1495 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CalcNewBoundsRangeAnd() local 1505 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); CheckBoundsRange() local [all...] |
/arkcompiler/runtime_core/compiler/tests/ |
H A D | graph_comparator.h | 173 auto eq_lambda = [this](Input input1, Input input2) { in CompareNonPhiInputs() 174 return Compare(input1.GetInst(), input2.GetInst()); in CompareNonPhiInputs() 186 auto input1 = inst1->GetInput(index1).GetInst(); in ComparePhiInputs() local 193 if (!Compare(input1, input2)) { in ComparePhiInputs()
|
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/ |
H A D | analysis.h | 37 bool CheckFcmpInputs(Inst *input0, Inst *input1); 38 bool CheckFcmpWithConstInput(Inst *input0, Inst *input1);
|
H A D | analysis.cpp | 273 bool CheckFcmpInputs(Inst *input0, Inst *input1) in CheckFcmpInputs() argument 275 if (input0->GetOpcode() != Opcode::Cast || input1->GetOpcode() != Opcode::Cast) { in CheckFcmpInputs() 279 input1->CastToCast()->GetOperandsType() != DataType::INT32) { in CheckFcmpInputs() 285 bool CheckFcmpWithConstInput(Inst *input0, Inst *input1) in CheckFcmpWithConstInput() argument 287 if (input0->IsConst() && input1->GetOpcode() == Opcode::Cast && in CheckFcmpWithConstInput() 288 input1->CastToCast()->GetOperandsType() == DataType::INT32) { in CheckFcmpWithConstInput() 291 if (input1->IsConst() && input0->GetOpcode() == Opcode::Cast && in CheckFcmpWithConstInput()
|
H A D | inst.h | 1351 auto input1 = GetInput(1).GetInst(); in SwapInputs() local 1352 SetInput(0, input1); in SwapInputs() 7007 ConstructWrapper(Inst::Initializer t, T0 input0, T1 input1, Args &&...args) 7008 : ConstructWrapper(Initializer {t, std::array<Inst *, 2U> {input0, input1}}, std::forward<Args>(args)...) 7013 ConstructWrapper(Inst::Initializer t, T0 input0, T1 input1, T2 input2, Args &&...args) 7014 : ConstructWrapper(Initializer {t, std::array<Inst *, 3U> {input0, input1, input2}},
|
/arkcompiler/runtime_core/static_core/compiler/tests/ |
H A D | graph_comparator.h | 88 auto eqLambda = [this](Input input1, Input input2) { return Compare(input1.GetInst(), input2.GetInst()); }; in InstInitialCompare() 99 auto input1 = inst1->GetInput(index1).GetInst(); in InstInitialCompare() local 107 if (!Compare(input1, input2)) { in InstInitialCompare()
|
H A D | const_folding_test.cpp | 151 void CheckCompareWithNan(DataType::Type sourceType, InputValue input0, InputValue input1, ConditionCode cc, in CheckCompareWithNan() argument 181 .Inputs(static_cast<size_t>(input0), static_cast<size_t>(input1)); in CheckCompareWithNan() 229 void CheckBinaryMathWithNan(Opcode opc, InputValue input0, InputValue input1, bool isOptimized) in CheckBinaryMathWithNan() argument 255 INST(6U, opc).f32().Inputs(static_cast<size_t>(input0), static_cast<size_t>(input1)); in CheckBinaryMathWithNan() 258 INST(6U, opc).f64().Inputs(static_cast<size_t>(input0), static_cast<size_t>(input1)); in CheckBinaryMathWithNan()
|
H A D | loop_unswitch_test.cpp | 1147 Inst *CreateInstIfImm(Inst *input0, Inst *input1, ConditionCode compareCc, uint64_t imm, ConditionCode ifCc) in CreateInstIfImm() argument 1150 GetGraph()->CreateInstCompare(DataType::BOOL, INVALID_PC, input0, input1, input0->GetType(), compareCc); in CreateInstIfImm()
|
/arkcompiler/runtime_core/bytecode_optimizer/tests/ |
H A D | common.h | 339 [this](Input input1, Input input2) { return Compare(input1.GetInst(), input2.GetInst()); })) { in Compare() 344 for (auto input1 : inst1->GetInputs()) { in Compare() 347 [this, &input1](Input input2) { return Compare(input1.GetInst(), input2.GetInst()); }); in Compare()
|
/arkcompiler/runtime_core/static_core/bytecode_optimizer/tests/ |
H A D | common.h | 351 [this](Input input1, Input input2) { return Compare(input1.GetInst(), input2.GetInst()); }); in Compare() 357 for (auto input1 : inst1->GetInputs()) { in Compare() 360 [this, &input1](Input input2) { return Compare(input1.GetInst(), input2.GetInst()); }); in Compare()
|
/arkcompiler/ets_runtime/ecmascript/dfx/cpu_profiler/tests/ |
H A D | samples_record_test.cpp | 231 char input1[] = "/path/to/module@version"; in HWTEST_F_L0() local 232 EXPECT_EQ(record.GetModuleName(input1), "module"); in HWTEST_F_L0()
|
/arkcompiler/ets_runtime/ecmascript/tests/ |
H A D | tagged_value_test.cpp | 312 double input1 = (static_cast<uint64_t>(UINT32_MAX) + 1) + 12345; in HWTEST_F_L0() local 313 JSTaggedValue doubleV3(input1); in HWTEST_F_L0() 364 double input1 = (static_cast<uint64_t>(UINT32_MAX) + 1) + 12345; in HWTEST_F_L0() local 365 JSTaggedValue doubleV3(input1); in HWTEST_F_L0() 416 double input1 = (static_cast<uint64_t>(UINT16_MAX) + 1) + 12345; in HWTEST_F_L0() local 417 JSTaggedValue doubleV3(input1); in HWTEST_F_L0() 468 double input1 = (static_cast<uint64_t>(UINT16_MAX) + 1) + 12345; in HWTEST_F_L0() local 469 JSTaggedValue doubleV3(input1); in HWTEST_F_L0() 520 double input1 = (static_cast<uint64_t>(UINT8_MAX) + 1) + 45; in HWTEST_F_L0() local 521 JSTaggedValue doubleV3(input1); in HWTEST_F_L0() 572 double input1 = (static_cast<uint64_t>(UINT8_MAX) + 1) + 34; HWTEST_F_L0() local [all...] |
/arkcompiler/runtime_core/bytecode_optimizer/constant_propagation/ |
H A D | constant_propagation.cpp | 216 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); in VisitCompare() local 218 auto lattices1 = propagation->GetOrCreateDefaultLattice(input1); in VisitCompare() 251 auto input1 = inst->GetDataFlowInput(inst->GetInput(1).GetInst()); in VisitIntrinsic() local 253 auto lattices1 = propagation->GetOrCreateDefaultLattice(input1); in VisitIntrinsic()
|
/arkcompiler/ets_runtime/ecmascript/napi/test/ |
H A D | jsnapi_second_tests.cpp | 194 int64_t input1 = 1; in HWTEST_F_L0() local 196 Local<NumberRef> res1 = NumberRef::New(vm_, input1); in HWTEST_F_L0() 211 double input1 = 1.1; in HWTEST_F_L0() local 213 Local<NumberRef> res1 = NumberRef::New(vm_, input1); in HWTEST_F_L0()
|