Home
last modified time | relevance | path

Searched refs:regOpnd (Results 1 - 25 of 25) sorted by relevance

/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/
H A Dpeep.cpp29 /* Check if a regOpnd is live after insn. True if live, otherwise false. */
30 bool CGPeepPattern::IfOperandIsLiveAfterInsn(const RegOperand &regOpnd, Insn &insn) in IfOperandIsLiveAfterInsn() argument
47 if (tmpRegOpnd->GetRegisterNumber() == regOpnd.GetRegisterNumber()) { in IfOperandIsLiveAfterInsn()
53 if (tmpRegOpnd->GetRegisterNumber() == regOpnd.GetRegisterNumber()) { in IfOperandIsLiveAfterInsn()
59 if (find(opndList.begin(), opndList.end(), &regOpnd) != opndList.end()) { in IfOperandIsLiveAfterInsn()
68 if (opnd.IsRegister() && tmpRegOpnd.GetRegisterNumber() != regOpnd.GetRegisterNumber()) { in IfOperandIsLiveAfterInsn()
79 return FindRegLiveOut(regOpnd, *insn.GetBB()); in IfOperandIsLiveAfterInsn()
82 /* entrance for find if a regOpnd is live-out. */
83 bool CGPeepPattern::FindRegLiveOut(const RegOperand &regOpnd, const BB &bb) in FindRegLiveOut() argument
97 return CheckOpndLiveinSuccs(regOpnd, b in FindRegLiveOut()
101 CheckOpndLiveinSuccs(const RegOperand &regOpnd, const BB &bb) const CheckOpndLiveinSuccs() argument
133 CheckRegLiveinReturnBB(const RegOperand &regOpnd, const BB &bb) const CheckRegLiveinReturnBB() argument
162 IsOpndLiveinBB(const RegOperand &regOpnd, const BB &bb) const IsOpndLiveinBB() argument
243 IfOperandIsLiveAfterInsn(const RegOperand &regOpnd, Insn &insn) IfOperandIsLiveAfterInsn() argument
296 FindRegLiveOut(const RegOperand &regOpnd, const BB &bb) FindRegLiveOut() argument
314 CheckOpndLiveinSuccs(const RegOperand &regOpnd, const BB &bb) const CheckOpndLiveinSuccs() argument
346 CheckRegLiveinReturnBB(const RegOperand &regOpnd, const BB &bb) const CheckRegLiveinReturnBB() argument
375 IsOpndLiveinBB(const RegOperand &regOpnd, const BB &bb) const IsOpndLiveinBB() argument
[all...]
H A Doptimize_common.cpp130 RegOperand *regOpnd = static_cast<RegOperand *>(op); in FoundListOpndRegNum() local
131 if (op->IsRegister() && regOpnd->GetRegisterNumber() == vReg) { in FoundListOpndRegNum()
146 RegOperand *regOpnd = static_cast<RegOperand *>(base); in FoundMemAccessOpndRegNum() local
147 if (regOpnd->GetRegisterNumber() == vReg) { in FoundMemAccessOpndRegNum()
152 RegOperand *regOpnd = static_cast<RegOperand *>(offset); in FoundMemAccessOpndRegNum() local
153 if (regOpnd->GetRegisterNumber() == vReg) { in FoundMemAccessOpndRegNum()
161 bool DotGenerator::FoundNormalOpndRegNum(const RegOperand &regOpnd, const Insn &insnObj, regno_t vReg) in FoundNormalOpndRegNum() argument
164 if (regOpnd.GetRegisterNumber() == vReg) { in FoundNormalOpndRegNum()
190 auto &regOpnd = static_cast<RegOperand &>(opnd); in DumpBBInstructions() local
191 found = FoundNormalOpndRegNum(regOpnd, *ins in DumpBBInstructions()
[all...]
H A Dreg_alloc_lsra.cpp331 void LSRALinearScanRegAllocator::RecordPhysRegs(const RegOperand &regOpnd, uint32 insnNum, bool isDef) in RecordPhysRegs() argument
333 RegType regType = regOpnd.GetRegisterType(); in RecordPhysRegs()
334 uint32 regNO = regOpnd.GetRegisterNumber(); in RecordPhysRegs()
394 auto &regOpnd = static_cast<RegOperand &>(opnd); in SetupLiveInterval() local
396 if (!regInfo->IsVirtualRegister(regOpnd)) { in SetupLiveInterval()
397 RecordPhysRegs(regOpnd, insnNum, isDef); in SetupLiveInterval()
400 RegType regType = regOpnd.GetRegisterType(); in SetupLiveInterval()
406 uint32 regNO = regOpnd.GetRegisterNumber(); in SetupLiveInterval()
672 : regOpnd(opnd), regSize(size), opndIdx(idx), isDef(def) in RegOpndInfo()
675 RegOperand &regOpnd; member
690 auto &regOpnd = static_cast<RegOperand &>(opnd); ComputeLiveIntervalForEachOperand() local
760 auto &regOpnd = static_cast<RegOperand &>(opnd); ComputeLoopLiveIntervalPriorityInInsn() local
906 auto &regOpnd = static_cast<RegOperand &>(opnd); LiveIntervalAnalysis() local
1139 auto &regOpnd = static_cast<RegOperand &>(opnd); InsertCallerSave() local
1268 auto &regOpnd = static_cast<RegOperand &>(opnd); SpillOperand() local
1560 const auto *regOpnd = static_cast<RegOperand *>(&opnd); GetReplaceUdOpnd() local
1603 const auto *regOpnd = static_cast<RegOperand *>(&opnd); GetReplaceOpnd() local
1894 auto &regOpnd = static_cast<RegOperand&>(insn->GetOperand(i)); SetStackMapDerivedInfo() local
1975 SolveRegOpndDeoptInfo(const RegOperand &regOpnd, DeoptInfo &deoptInfo, int32 deoptVregNO) const SolveRegOpndDeoptInfo() argument
[all...]
H A Dlive.cpp240 /* build use and def sets of each BB according to the type of regOpnd. */
246 auto &regOpnd = static_cast<const RegOperand &>(opnd); in CollectLiveInfo() local
247 regno_t regNO = regOpnd.GetRegisterNumber(); in CollectLiveInfo()
248 RegType regType = regOpnd.GetRegisterType(); in CollectLiveInfo()
262 if (!cgFunc->IsStackMapComputed() && regOpnd.GetBaseRefOpnd() != nullptr) { in CollectLiveInfo()
263 const RegOperand &baseOpnd = *regOpnd.GetBaseRefOpnd(); in CollectLiveInfo()
H A Dinsn.cpp257 auto *regOpnd = static_cast<RegOperand *>(listElem); in ScanReg() local
258 DEBUG_ASSERT(regOpnd != nullptr, "parameter operand must be RegOperand"); in ScanReg()
259 if (regNO == regOpnd->GetRegisterNumber()) { in ScanReg()
H A Disel.cpp706 RegOperand &regOpnd = in SelectRegassign() local
709 SelectCopy(regOpnd, opnd0, regType, rhsType); in SelectRegassign()
711 regOpnd.SetIsReference(true); in SelectRegassign()
712 cgFunc->AddReferenceReg(regOpnd.GetRegisterNumber()); in SelectRegassign()
716 cgFunc->SetPregIdx2Opnd(pregIdx, regOpnd); in SelectRegassign()
736 SelectCopy(*dest, regOpnd, preg->GetPrimType(), regType); in SelectRegassign()
784 RegOperand &regOpnd = in SelectDread() local
787 regOpnd.SetIsReference(true); in SelectDread()
788 cgFunc->AddReferenceReg(regOpnd.GetRegisterNumber()); in SelectDread()
791 SelectCopy(regOpnd, symbolMe in SelectDread()
[all...]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/
H A Dpeep.h101 bool IfOperandIsLiveAfterInsn(const RegOperand &regOpnd, Insn &insn);
102 bool FindRegLiveOut(const RegOperand &regOpnd, const BB &bb);
103 bool CheckOpndLiveinSuccs(const RegOperand &regOpnd, const BB &bb) const;
104 bool CheckRegLiveinReturnBB(const RegOperand &regOpnd, const BB &bb) const;
105 ReturnType IsOpndLiveinBB(const RegOperand &regOpnd, const BB &bb) const;
126 bool IfOperandIsLiveAfterInsn(const RegOperand &regOpnd, Insn &insn);
127 bool FindRegLiveOut(const RegOperand &regOpnd, const BB &bb);
128 bool CheckOpndLiveinSuccs(const RegOperand &regOpnd, const BB &bb) const;
129 bool CheckRegLiveinReturnBB(const RegOperand &regOpnd, const BB &bb) const;
130 ReturnType IsOpndLiveinBB(const RegOperand &regOpnd, cons
[all...]
H A Doptimize_common.h135 static bool FoundNormalOpndRegNum(const RegOperand &regOpnd, const Insn &insnObj, regno_t vReg);
H A Doperand.h439 void SetBaseRefOpnd(RegOperand &regOpnd) in SetBaseRefOpnd() argument
441 baseRefOpnd = &regOpnd; in SetBaseRefOpnd()
1131 void SetBaseRegister(RegOperand &regOpnd) in SetBaseRegister() argument
1133 baseOpnd = &regOpnd; in SetBaseRegister()
1141 void SetIndexRegister(RegOperand &regOpnd) in SetIndexRegister() argument
1143 indexOpnd = &regOpnd; in SetIndexRegister()
1564 for (auto regOpnd : opndList) {
1565 listOpnd->PushOpnd(*regOpnd->CloneTree(allocator));
H A Dreg_alloc_lsra.h404 void RecordPhysRegs(const RegOperand &regOpnd, uint32 insnNum, bool isDef);
430 void SolveRegOpndDeoptInfo(const RegOperand &regOpnd, DeoptInfo &deoptInfo, int32 deoptVregNO) const;
H A Dreg_info.h241 virtual bool IsVirtualRegister(const RegOperand &regOpnd) = 0;
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/
H A Dx64_proepilog.h36 void GeneratePushCalleeSavedRegs(RegOperand &regOpnd, MemOperand &memOpnd, uint32 regSize);
37 void GeneratePopCalleeSavedRegs(RegOperand &regOpnd, MemOperand &memOpnd, uint32 regSize);
H A Dx64_reg_info.h115 bool IsVirtualRegister(const RegOperand &regOpnd) override
117 return regOpnd.GetRegisterNumber() > x64::kAllRegNum;
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/
H A Daarch64_args.cpp55 RegOperand &regOpnd = aarFunc->GetOrCreatePhysicalRegisterOperand(reg, GetPrimTypeBitSize(primType), in MoveRegisterArgs()
66 Insn &insn = aarFunc->GetInsnBuilder()->BuildInsn(mOp, regOpnd, *memOpnd); in MoveRegisterArgs()
95 RegOperand *regOpnd = nullptr; in MoveLocalRefVarToRefLocals() local
99 regOpnd = &aarFunc->GetOrCreateVirtualRegisterOperand(aarFunc->GetVirtualRegNOFromPseudoRegIdx(pregIdx)); in MoveLocalRefVarToRefLocals()
101 regOpnd = &aarFunc->GetOrCreateVirtualRegisterOperand(aarFunc->NewVReg(kRegTyInt, k8ByteSize)); in MoveLocalRefVarToRefLocals()
104 aarFunc->GetInsnBuilder()->BuildInsn(aarFunc->PickLdInsn(GetPrimTypeBitSize(stype), stype), *regOpnd, memOpnd); in MoveLocalRefVarToRefLocals()
107 aarFunc->GetInsnBuilder()->BuildInsn(aarFunc->PickStInsn(GetPrimTypeBitSize(stype), stype), *regOpnd, memOpnd1); in MoveLocalRefVarToRefLocals()
H A Daarch64_offset_adjust.cpp82 auto &regOpnd = static_cast<RegOperand &>(opnd); in AdjustmentOffsetForOpnd() local
83 if (regOpnd.IsOfVary()) { in AdjustmentOffsetForOpnd()
85 regOpnd = aarchCGFunc->GetOrCreateStackBaseRegOperand(); in AdjustmentOffsetForOpnd()
87 if (regOpnd.GetRegisterNumber() == RFP) { in AdjustmentOffsetForOpnd()
H A Daarch64_fixshortbranch.cpp230 auto &regOpnd = static_cast<RegOperand &>(insn->GetOperand(kInsnFirstOpnd)); in FixLdr() local
237 k64BitSize, regOpnd, aarch64CGFunc->CreateImmOperand(0, k32BitSize, false), false); in FixLdr()
238 auto *newRegOpnd = static_cast<RegOperand *>(regOpnd.Clone(*aarch64CGFunc->GetMemoryPool())); in FixLdr()
H A Daarch64_peep.cpp32 const RegOperand *regOpnd = static_cast<const RegOperand *>(&opnd); in IsZeroRegister() local
33 return regOpnd->GetRegisterNumber() == RZR; in IsZeroRegister()
344 bool EnhanceStrLdrAArch64::CheckOperandIsDeadFromInsn(const RegOperand &regOpnd, Insn &insn) in CheckOperandIsDeadFromInsn() argument
351 // regOpnd is redefined at curInsn in CheckOperandIsDeadFromInsn()
352 if (static_cast<RegOperand &>(opnd).GetRegisterNumber() == regOpnd.GetRegisterNumber()) { in CheckOperandIsDeadFromInsn()
356 return !IfOperandIsLiveAfterInsn(regOpnd, insn); in CheckOperandIsDeadFromInsn()
540 auto *regOpnd = static_cast<RegOperand *>(listElem); in IsRegNotSameMemUseInInsn() local
541 DEBUG_ASSERT(regOpnd != nullptr, "parameter operand must be RegOperand"); in IsRegNotSameMemUseInInsn()
542 if (curBaseRegNO == regOpnd->GetRegisterNumber()) { in IsRegNotSameMemUseInInsn()
629 /* Check regOpnd fo in FindPrevStrLdr()
1977 RegOperand *regOpnd = nullptr; Run() local
[all...]
H A Daarch64_cgfunc.cpp729 RegOperand *regOpnd = nullptr; in SelectRegassign() local
732 regOpnd = &GetOrCreateSpecialRegisterOperand(-pregIdx, stmt.GetPrimType()); in SelectRegassign()
734 regOpnd = &GetOrCreateVirtualRegisterOperand(GetVirtualRegNOFromPseudoRegIdx(pregIdx)); in SelectRegassign()
738 DEBUG_ASSERT(regOpnd != nullptr, "null ptr check!"); in SelectRegassign()
745 SelectCopy(*regOpnd, stmt.GetPrimType(), *srcOpnd, rhsType, stmt.GetRHS()); in SelectRegassign()
760 GetCurBB()->AppendInsn(GetInsnBuilder()->BuildInsn(PickStInsn(srcBitLength, stype), *regOpnd, *dest)); in SelectRegassign() local
761 } else if (regOpnd->GetRegisterNumber() == R0 || regOpnd->GetRegisterNumber() == R1) { in SelectRegassign()
762 Insn &pseudo = GetInsnBuilder()->BuildInsn(MOP_pseudo_ret_int, *regOpnd); in SelectRegassign()
764 } else if (regOpnd in SelectRegassign()
1046 RegOperand &regOpnd = LoadIntoRegister(*newOpnd0, itype); HandleFmovImm() local
1466 RegOperand &regOpnd = CreateRegisterOperandOfType(primType); SelectAdd() local
1556 RegOperand &regOpnd = CreateRegisterOperandOfType(primType); SelectSub() local
[all...]
H A Daarch64_obj_emitter.cpp431 const RegOperand &regOpnd = static_cast<const RegOperand &>(opnd); in GetOpndMachineValue() local
432 uint32 regNO = regOpnd.GetRegisterNumber(); in GetOpndMachineValue()
436 if (regOpnd.IsOfIntClass()) { in GetOpndMachineValue()
437 if (regOpnd.GetRegisterNumber() == RZR) { in GetOpndMachineValue()
440 if (regOpnd.GetRegisterNumber() == RSP) { in GetOpndMachineValue()
H A Daarch64_emitter.cpp516 for (auto *regOpnd : list1.GetOperands()) { in EmitInlineAsm()
517 outOpnds.push_back(regOpnd); in EmitInlineAsm()
521 for (auto *regOpnd : list2.GetOperands()) { in EmitInlineAsm()
522 inOpnds.push_back(regOpnd); in EmitInlineAsm()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/
H A Dx64_proepilog.cpp65 void X64GenProEpilog::GeneratePushCalleeSavedRegs(RegOperand &regOpnd, MemOperand &memOpnd, uint32 regSize) in GeneratePushCalleeSavedRegs() argument
69 copyInsn.AddOpndChain(regOpnd).AddOpndChain(memOpnd); in GeneratePushCalleeSavedRegs()
73 void X64GenProEpilog::GeneratePopCalleeSavedRegs(RegOperand &regOpnd, MemOperand &memOpnd, uint32 regSize) in GeneratePopCalleeSavedRegs() argument
77 copyInsn.AddOpndChain(memOpnd).AddOpndChain(regOpnd); in GeneratePopCalleeSavedRegs()
H A Dx64_args.cpp127 RegOperand &regOpnd = x64CGFunc->GetOpndBuilder()->CreatePReg(argInfo.reg, opndSize, argInfo.regType); in GenerateMovInsn() local
144 insn.AddOpndChain(regOpnd).AddOpndChain(*memOpnd); in GenerateMovInsn()
H A Dx64_MPIsel.cpp171 for (auto [regOpnd, argOpnd, primType] : paramPassByReg) { in SelectParmList()
172 DEBUG_ASSERT(regOpnd != nullptr, "not null check"); in SelectParmList()
174 SelectCopy(*regOpnd, *argOpnd, primType); in SelectParmList()
175 srcOpnds.PushOpnd(*regOpnd); in SelectParmList()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/
H A Daarch64_reg_info.h108 bool IsVirtualRegister(const RegOperand &regOpnd) override
110 return regOpnd.GetRegisterNumber() > kAllRegNum;
H A Daarch64_peep.h145 bool CheckOperandIsDeadFromInsn(const RegOperand &regOpnd, Insn &insn);

Completed in 29 milliseconds