Home
last modified time | relevance | path

Searched refs:regNO (Results 1 – 25 of 56) sorted by relevance

123

/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/
Daarch64_reg_info.cpp25 for (regno_t regNO = kRinvalid; regNO < kMaxRegNum; ++regNO) { in Init() local
27 if (IsYieldPointReg(regNO)) { in Init()
30 if (regNO == R29 && !GetCurrFunction()->UseFP()) { in Init()
31 AddToAllRegs(regNO); in Init()
34 if (!AArch64Abi::IsAvailableReg(static_cast<AArch64reg>(regNO))) { in Init()
37 if (AArch64isa::IsGPRegister(static_cast<AArch64reg>(regNO))) { in Init()
38 AddToIntRegs(regNO); in Init()
40 AddToFpRegs(regNO); in Init()
42 AddToAllRegs(regNO); in Init()
77 bool AArch64RegInfo::IsSpillRegInRA(regno_t regNO, bool has3RegOpnd) in IsSpillRegInRA() argument
[all …]
Daarch64_reaching.cpp157 AArch64reg regNO = static_cast<AArch64CGFunc *>(cgFunc)->GetReturnRegisterNumber(); in AddRetPseudoInsn() local
158 if (regNO == kInvalidRegNO) { in AddRetPseudoInsn()
162 if (regNO == R0) { in AddRetPseudoInsn()
164 …static_cast<AArch64CGFunc *>(cgFunc)->GetOrCreatePhysicalRegisterOperand(regNO, k64BitSize, kRegTy… in AddRetPseudoInsn()
168 } else if (regNO == V0) { in AddRetPseudoInsn()
170 …static_cast<AArch64CGFunc *>(cgFunc)->GetOrCreatePhysicalRegisterOperand(regNO, k64BitSize, kRegTy… in AddRetPseudoInsn()
227 bool AArch64ReachingDefinition::IsRegKilledByCallInsn(const Insn &insn, regno_t regNO) const in IsRegKilledByCallInsn()
232 return callerSaveRegs.find(regNO) != callerSaveRegs.end(); in IsRegKilledByCallInsn()
234 return AArch64Abi::IsCallerSaveReg(static_cast<AArch64reg>(regNO)); in IsRegKilledByCallInsn()
239 regno_t regNO) const in KilledByCallBetweenInsnInSameBB()
[all …]
Daarch64_abi.cpp49 bool IsCallerSaveReg(AArch64reg regNO) in IsCallerSaveReg() argument
51 …return (R0 <= regNO && regNO <= R18) || (V0 <= regNO && regNO <= V7) || (V16 <= regNO && regNO <= … in IsCallerSaveReg()
52 (regNO == kRFLAG); in IsCallerSaveReg()
159 bool IsSpillRegInRA(AArch64reg regNO, bool has3RegOpnd) in IsSpillRegInRA() argument
163 return AArch64Abi::IsSpillReg(regNO) || AArch64Abi::IsExtraSpillReg(regNO); in IsSpillRegInRA()
165 return AArch64Abi::IsSpillReg(regNO); in IsSpillRegInRA()
Daarch64_dependence.cpp81 void AArch64DepAnalysis::AppendRegUseList(Insn &insn, regno_t regNO) in AppendRegUseList() argument
86 if (regUses[regNO] == nullptr) { in AppendRegUseList()
87 regUses[regNO] = regList; in AppendRegUseList()
89 Insn *defInsn = regDefs[regNO]; in AppendRegUseList()
94 defNode->SetRegDefs(regNO, regList); in AppendRegUseList()
98 RegList *lastRegList = regUses[regNO]; in AppendRegUseList()
166 void AArch64DepAnalysis::BuildDepsUseReg(Insn &insn, regno_t regNO) in BuildDepsUseReg() argument
169 node->AddUseReg(regNO); in BuildDepsUseReg()
170 if (regDefs[regNO] != nullptr) { in BuildDepsUseReg()
172 AddDependence(*regDefs[regNO]->GetDepNode(), *insn.GetDepNode(), kDependenceTypeTrue); in BuildDepsUseReg()
[all …]
Daarch64_color_ra.cpp441 for (regno_t regNO = kInvalidRegNO; regNO < kMaxRegNum; ++regNO) { in PrintBBAssignInfo() local
442 if (bbInfo->GetGlobalsAssigned(regNO)) { in PrintBBAssignInfo()
443 LogInfo::MapleLogger() << regNO << ","; in PrintBBAssignInfo()
564 bool GraphColorRegAllocator::IsReservedReg(AArch64reg regNO) const in IsReservedReg()
567 return (regNO == R16) || (regNO == R17); in IsReservedReg()
569 return (regNO == R16); in IsReservedReg()
586 for (regno_t regNO = kRinvalid; regNO < kMaxRegNum; ++regNO) { in InitFreeRegPool() local
587 if (!AArch64Abi::IsAvailableReg(static_cast<AArch64reg>(regNO))) { in InitFreeRegPool()
595 … if (JAVALANG && AArch64Abi::IsSpillRegInRA(static_cast<AArch64reg>(regNO), needExtraSpillReg)) { in InitFreeRegPool()
596 if (AArch64isa::IsGPRegister(static_cast<AArch64reg>(regNO))) { in InitFreeRegPool()
[all …]
Daarch64_live.cpp52 regno_t regNO = reg + R0; in CleanupBBIgnoreReg() local
53 if (regNO < R8 || (RLR <= regNO && regNO <= RZR)) { in CleanupBBIgnoreReg()
Daarch64_reg_coalesce.cpp47 LiveInterval *AArch64LiveIntervalAnalysis::GetOrCreateLiveInterval(regno_t regNO) in GetOrCreateLiveInterval() argument
49 LiveInterval *lr = GetLiveInterval(regNO); in GetOrCreateLiveInterval()
52 vregIntervals[regNO] = lr; in GetOrCreateLiveInterval()
53 lr->SetRegNO(regNO); in GetOrCreateLiveInterval()
75 uint32 regNO = regOpnd.GetRegisterNumber(); in SetupLiveIntervalByOp() local
79 LiveInterval *lr = GetOrCreateLiveInterval(regNO); in SetupLiveIntervalByOp()
81 lr->AddRange(insn.GetBB()->GetId(), point, vregLive.find(regNO) != vregLive.end()); in SetupLiveIntervalByOp()
85 if (candidates.find(regNO) != candidates.end()) { in SetupLiveIntervalByOp()
89 vregLive.erase(regNO); in SetupLiveIntervalByOp()
91 vregLive.insert(regNO); in SetupLiveIntervalByOp()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/
Daarch64_reg_info.h31 bool IsGPRegister(regno_t regNO) const override in IsGPRegister() argument
33 return AArch64isa::IsGPRegister(static_cast<AArch64reg>(regNO)); in IsGPRegister()
36 bool IsPreAssignedReg(regno_t regNO) const override in IsPreAssignedReg() argument
38 return AArch64Abi::IsParamReg(static_cast<AArch64reg>(regNO)); in IsPreAssignedReg()
50 bool IsAvailableReg(regno_t regNO) const override in IsAvailableReg() argument
53 if (regNO == R9 || regNO == R29) { in IsAvailableReg()
56 return AArch64Abi::IsAvailableReg(static_cast<AArch64reg>(regNO)); in IsAvailableReg()
59 bool IsUntouchableReg(regno_t regNO) const override in IsUntouchableReg() argument
61 if ((regNO == RSP) || (regNO == RFP) || regNO == RZR) { in IsUntouchableReg()
65 if (GetCurrFunction()->GetCG()->GenYieldPoint() && (regNO == RYP)) { in IsUntouchableReg()
[all …]
Daarch64_reaching.h27 …std::vector<Insn *> FindRegDefBetweenInsnGlobal(uint32 regNO, Insn *startInsn, Insn *endInsn) cons…
29 …bool FindRegUseBetweenInsn(uint32 regNO, Insn *startInsn, Insn *endInsn, InsnSet &useInsnSet) cons…
30 …bool FindRegUseBetweenInsnGlobal(uint32 regNO, Insn *startInsn, Insn *endInsn, BB *movBB) const fi…
32 bool HasRegDefBetweenInsnGlobal(uint32 regNO, Insn &startInsn, Insn &endInsn) const;
33 bool DFSFindRegDefBetweenBB(const BB &startBB, const BB &endBB, uint32 regNO,
38 bool FindRegUsingBetweenInsn(uint32 regNO, Insn *startInsn, const Insn *endInsn) const;
47 bool IsRegKilledByCallInsn(const Insn &insn, regno_t regNO) const final;
48 …bool KilledByCallBetweenInsnInSameBB(const Insn &startInsn, const Insn &endInsn, regno_t regNO) co…
51 bool IsCallerSavedReg(uint32 regNO) const final;
52 void FindRegDefInBB(uint32 regNO, BB &bb, InsnSet &defInsnSet) const final;
[all …]
Daarch64_color_ra.h256 return regNO; in GetRegNO()
261 regNO = val; in SetRegNO()
403 void SetConflictBitArrElem(regno_t regNO) in SetConflictBitArrElem() argument
405 uint32 index = regNO / kU64; in SetConflictBitArrElem()
406 uint64 bit = regNO % kU64; in SetConflictBitArrElem()
414 void UnsetConflictBitArrElem(regno_t regNO) in UnsetConflictBitArrElem() argument
416 uint32 index = regNO / kU64; in UnsetConflictBitArrElem()
417 uint64 bit = regNO % kU64; in UnsetConflictBitArrElem()
570 void InsertElemToPrefs(regno_t regNO) in InsertElemToPrefs() argument
572 (void)prefs.insert(regNO); in InsertElemToPrefs()
[all …]
Daarch64_schedule.h154 static RegType GetRegisterType(CGFunc &f, regno_t regNO);
155 void VaryLiveRegSet(CGFunc &f, regno_t regNO, bool isInc);
231 for (auto regNO : intLiveRegSet) { in SizeOfCalleeSaveLiveRegister() local
232 if (regNO > static_cast<regno_t>(R19)) { in SizeOfCalleeSaveLiveRegister()
237 for (auto regNO : fpLiveRegSet) { in SizeOfCalleeSaveLiveRegister() local
238 if (regNO > static_cast<regno_t>(V16)) { in SizeOfCalleeSaveLiveRegister()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/
Dreaching.cpp140 uint32 regNO = indexOrRegNO; in FindUseForRegOpnd() local
144 regNO = regOpnd.GetRegisterNumber(); in FindUseForRegOpnd()
147 …bool findFinish = FindRegUseBetweenInsn(regNO, insn.GetNext(), insn.GetBB()->GetLastInsn(), useIns… in FindUseForRegOpnd()
149 if (findFinish || !regOut[insn.GetBB()->GetId()]->TestBit(regNO)) { in FindUseForRegOpnd()
151 DFSFindUseForRegOpnd(*insn.GetBB(), regNO, visitedBB, useInsnSet, true); in FindUseForRegOpnd()
154 DFSFindUseForRegOpnd(*insn.GetBB(), regNO, visitedBB, useInsnSet, false); in FindUseForRegOpnd()
158 if (regUse[firstCleanUpBB->GetId()]->TestBit(regNO)) { in FindUseForRegOpnd()
160 …FindRegUseBetweenInsn(regNO, firstCleanUpBB->GetFirstInsn(), firstCleanUpBB->GetLastInsn(), useIns… in FindUseForRegOpnd()
161 if (findFinish || !regOut[firstCleanUpBB->GetId()]->TestBit(regNO)) { in FindUseForRegOpnd()
165 DFSFindUseForRegOpnd(*firstCleanUpBB, regNO, visitedBB, useInsnSet, false); in FindUseForRegOpnd()
[all …]
Dreg_alloc_lsra.cpp83 …anRegAllocator::CheckForReg(Operand &opnd, const Insn &insn, const LiveInterval &li, regno_t regNO, in CheckForReg() argument
93 if (regOpnd.GetRegisterNumber() == regNO) { in CheckForReg()
173 uint32 regNO = li->GetRegNO(); in PrintLiveRangesGraph() local
177 if (regNO < minY) { in PrintLiveRangesGraph()
178 minY = regNO; in PrintLiveRangesGraph()
180 if (regNO > maxY) { in PrintLiveRangesGraph()
181 maxY = regNO; in PrintLiveRangesGraph()
185 graph[regNO - minVregNum][n] = 0; in PrintLiveRangesGraph()
189 graph[regNO - minVregNum][n] = regNO; in PrintLiveRangesGraph()
193 graph[regNO - minVregNum][n] = 0; in PrintLiveRangesGraph()
[all …]
Dreg_alloc_basic.cpp54 regno_t regNO = 0; in HandleRegOpnd() local
55 … return &cgFunc->GetOpndBuilder()->CreatePReg(regNO, regOpnd.GetSize(), regOpnd.GetRegisterType()); in HandleRegOpnd()
130 regno_t regNO = 0; in AllocDestOpnd() local
131 … return &cgFunc->GetOpndBuilder()->CreatePReg(regNO, regOpnd.GetSize(), regOpnd.GetRegisterType()); in AllocDestOpnd()
219 regno_t regNO = regOpnd.GetRegisterNumber(); in SaveCalleeSavedReg() local
220 auto phyReg = regInfo->IsVirtualRegister(regOpnd) ? regMap[regNO] : regNO; in SaveCalleeSavedReg()
372 regno_t regNO = regOpnd.GetRegisterNumber(); in AllocHandleDest() local
373 rememberRegs.push_back(regInfo->IsVirtualRegister(regOpnd) ? regMap[regNO] : regNO); in AllocHandleDest()
Dinsn.cpp218 bool Insn::IsRegDefined(regno_t regNO) const in IsRegDefined()
220 return GetDefRegs().count(regNO); in IsRegDefined()
343 bool Insn::ScanReg(regno_t regNO) const in ScanReg()
353 if (regNO == regOpnd->GetRegisterNumber()) { in ScanReg()
361 if ((base != nullptr && base->GetRegisterNumber() == regNO) || in ScanReg()
362 (index != nullptr && index->GetRegisterNumber() == regNO)) { in ScanReg()
366 if (static_cast<RegOperand &>(opnd).GetRegisterNumber() == regNO) { in ScanReg()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/
Dx64_reg_info.h38 bool IsYieldPointReg(regno_t regNO) const override;
39 bool IsUnconcernedReg(regno_t regNO) const override;
41 …RegOperand *GetOrCreatePhyRegOperand(regno_t regNO, uint32 size, RegType kind, uint32 flag) overri…
51 bool IsGPRegister(regno_t regNO) const override in IsGPRegister() argument
53 return x64::IsGPRegister(static_cast<X64reg>(regNO)); in IsGPRegister()
56 bool IsUntouchableReg(regno_t regNO) const override in IsUntouchableReg() argument
98 bool IsPreAssignedReg(regno_t regNO) const override in IsPreAssignedReg() argument
100 … return x64::IsParamReg(static_cast<X64reg>(regNO)) || regNO == x64::RAX || regNO == x64::RDX; in IsPreAssignedReg()
102 uint32 GetIntParamRegIdx(regno_t regNO) const override in GetIntParamRegIdx() argument
105 return static_cast<uint32>(regNO - *GetIntRegs().begin()); in GetIntParamRegIdx()
[all …]
Dx64_reaching.h26 …bool FindRegUseBetweenInsn(uint32 regNO, Insn *startInsn, Insn *endInsn, InsnSet &useInsnSet) cons…
27 …std::vector<Insn *> FindRegDefBetweenInsnGlobal(uint32 regNO, Insn *startInsn, Insn *endInsn) cons…
29 …bool FindRegUseBetweenInsnGlobal(uint32 regNO, Insn *startInsn, Insn *endInsn, BB *movBB) const fi…
31 bool HasRegDefBetweenInsnGlobal(uint32 regNO, Insn &startInsn, Insn &endInsn);
32 bool DFSFindRegDefBetweenBB(const BB &startBB, const BB &endBB, uint32 regNO,
37 bool FindRegUsingBetweenInsn(uint32 regNO, Insn *startInsn, const Insn *endInsn) const;
46 bool IsRegKilledByCallInsn(const Insn &insn, regno_t regNO) const final;
47 …bool KilledByCallBetweenInsnInSameBB(const Insn &startInsn, const Insn &endInsn, regno_t regNO) co…
51 bool IsCallerSavedReg(uint32 regNO) const final;
52 void FindRegDefInBB(uint32 regNO, BB &bb, InsnSet &defInsnSet) const final;
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/
Dx64_reaching.cpp24 bool X64ReachingDefinition::FindRegUseBetweenInsn(uint32 regNO, Insn *startInsn, Insn *endInsn, in FindRegUseBetweenInsn() argument
37 if (insn->IsCall() && IsRegKilledByCallInsn(*insn, regNO)) { in FindRegUseBetweenInsn()
41 if (IsDiv(*insn) && regNO == x64::RAX) { in FindRegUseBetweenInsn()
53 (static_cast<RegOperand &>(opnd).GetRegisterNumber() == regNO)) { in FindRegUseBetweenInsn()
62 if (regNO == regOpnd->GetRegisterNumber()) { in FindRegUseBetweenInsn()
77 if ((base != nullptr && base->GetRegisterNumber() == regNO) || in FindRegUseBetweenInsn()
78 (index != nullptr && index->GetRegisterNumber() == regNO)) { in FindRegUseBetweenInsn()
84 if (rflagReg.GetRegisterNumber() == regNO) { in FindRegUseBetweenInsn()
87 … } else if (opnd.IsRegister() && (static_cast<RegOperand &>(opnd).GetRegisterNumber() == regNO)) { in FindRegUseBetweenInsn()
98 std::vector<Insn *> X64ReachingDefinition::FindRegDefBetweenInsnGlobal(uint32 regNO, Insn *startIns… in FindRegDefBetweenInsnGlobal() argument
[all …]
Dx64_reg_info.cpp25 for (regno_t regNO = kRinvalid; regNO < kMaxRegNum; ++regNO) { in Init() local
27 if (IsYieldPointReg(static_cast<X64reg>(regNO))) { in Init()
30 if (!x64::IsAvailableReg(static_cast<X64reg>(regNO))) { in Init()
33 if (x64::IsGPRegister(static_cast<X64reg>(regNO))) { in Init()
34 AddToIntRegs(regNO); in Init()
36 AddToFpRegs(regNO); in Init()
38 AddToAllRegs(regNO); in Init()
75 bool X64RegInfo::IsUnconcernedReg(regno_t regNO) const in IsUnconcernedReg()
78 if (IsYieldPointReg(static_cast<X64reg>(regNO))) { in IsUnconcernedReg()
90 uint32 regNO = regOpnd.GetRegisterNumber(); in IsUnconcernedReg() local
[all …]
Dx64_abi.cpp138 bool IsSpillRegInRA(X64reg regNO, bool has3RegOpnd) in IsSpillRegInRA() argument
142 return IsSpillReg(regNO) || IsExtraSpillReg(regNO); in IsSpillRegInRA()
144 return IsSpillReg(regNO); in IsSpillRegInRA()
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/
Dreaching.h73 bool CheckRegGen(const BB &bb, uint32 regNO) const in CheckRegGen() argument
75 return regGen[bb.GetId()]->TestBit(regNO); in CheckRegGen()
81 bool RegIsUsedIncaller(uint32 regNO, Insn &startInsn, Insn &endInsn) const;
82 bool CheckRegLiveinReturnBB(uint32 regNO, const BB &bb) const;
83 bool RegIsLiveBetweenInsn(uint32 regNO, Insn &startInsn, Insn &endInsn, bool isBack = false,
85 bool RegIsUsedOrDefBetweenInsn(uint32 regNO, Insn &startInsn, Insn &endInsn) const;
86 …bool IsLiveInAllPathBB(uint32 regNO, const BB &startBB, const BB &endBB, std::vector<bool> &visite…
88 …bool IsUseOrDefInAllPathBB(uint32 regNO, const BB &startBB, const BB &endBB, std::vector<bool> &vi…
89 …bool IsUseOrDefBetweenInsn(uint32 regNO, const BB &curBB, const Insn &startInsn, Insn &endInsn) co…
91 …std::vector<Insn *> FindRegDefBetweenInsn(uint32 regNO, Insn *startInsn, Insn *endInsn, bool findA…
[all …]
Dreg_info.h72 …virtual RegOperand *GetOrCreatePhyRegOperand(regno_t regNO, uint32 size, RegType kind, uint32 flag…
75 virtual bool IsGPRegister(regno_t regNO) const = 0;
76 virtual bool IsPreAssignedReg(regno_t regNO) const = 0;
77 virtual uint32 GetIntParamRegIdx(regno_t regNO) const = 0;
78 virtual uint32 GetFpParamRegIdx(regno_t regNO) const = 0;
80 virtual bool IsAvailableReg(regno_t regNO) const = 0;
82 virtual bool IsYieldPointReg(regno_t regNO) const = 0;
83 virtual bool IsUntouchableReg(uint32 regNO) const = 0;
84 virtual bool IsUnconcernedReg(regno_t regNO) const = 0;
102 virtual bool IsSpillRegInRA(regno_t regNO, bool has3RegOpnd) = 0;
Dreg_alloc.h30 VirtualRegNode(RegType type, uint32 size) : regType(type), size(size), regNO(kInvalidRegNO) {} in VirtualRegNode()
36 regNO = phyRegNO; in AssignPhysicalRegister()
52 regno_t regNO = kInvalidRegNO; /* physical register assigned by register allocation */ variable
63 bool IsYieldPointReg(regno_t regNO) const;
64 bool IsUntouchableReg(regno_t regNO) const;
Ddependence.h63 virtual void AppendRegUseList(Insn &insn, regno_t regNO) = 0;
66 virtual void BuildDepsUseReg(Insn &insn, regno_t regNO) = 0;
67 virtual void BuildDepsDefReg(Insn &insn, regno_t regNO) = 0;
83 virtual bool IfInAmbiRegs(regno_t regNO) const = 0;
Dcall_conv.h102 regNO(0), in LmbcFormalParamInfo()
157 return regNO; in GetRegNO()
161 regNO = reg; in SetRegNO()
230 regno_t regNO = 0; /* param reg num or starting reg num if numRegs > 0 */ variable

123