Home
last modified time | relevance | path

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

12

/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/
H A Dspill_fill_encoder.cpp119 auto sf = *it; in EncodeSpillFill() local
136 switch (sf.SrcType()) { in EncodeSpillFill()
138 adv = EncodeImmToX(sf); in EncodeSpillFill()
143 adv = EncodeRegisterToX(sf, next, consecutiveOpsHint); in EncodeSpillFill()
148 adv = EncodeStackToX(sf, next, consecutiveOpsHint); in EncodeSpillFill()
182 size_t SpillFillEncoder::EncodeImmToX(const SpillFillData &sf) in EncodeImmToX() argument
184 auto constInst = graph_->GetSpilledConstant(sf.SrcValue()); in EncodeImmToX()
187 if (sf.GetDst().IsAnyRegister()) { // imm -> register in EncodeImmToX()
188 auto type = sf.GetType(); in EncodeImmToX()
210 auto dstReg = GetDstReg(sf in EncodeImmToX()
222 EncodeRegisterToX(const SpillFillData &sf, const SpillFillData *next, int consecutiveOpsHint) EncodeRegisterToX() argument
262 EncodeStackToX(const SpillFillData &sf, const SpillFillData *next, int consecutiveOpsHint) EncodeStackToX() argument
[all...]
H A Dmethod_properties.cpp81 auto sf = static_cast<const ParameterInst *>(inst)->GetLocationData(); in CheckAndSetStackParams() local
82 if (sf.DstValue() != INVALID_REG && sf.SrcType() == LocationType::STACK_PARAMETER) { in CheckAndSetStackParams()
H A Dspill_fill_encoder.h59 size_t EncodeImmToX(const SpillFillData &sf);
60 size_t EncodeRegisterToX(const SpillFillData &sf, const SpillFillData *next, int consecutiveOpsHint = 0);
61 size_t EncodeStackToX(const SpillFillData &sf, const SpillFillData *next, int consecutiveOpsHint = 0);
/arkcompiler/runtime_core/compiler/optimizer/optimizations/regalloc/
H A Dspill_fills_resolver.cpp134 for (const auto &sf : spill_fills) { in NeedToResolve()
135 if (sf.DstType() == sf.SrcType() && sf.DstValue() == sf.SrcValue()) { in NeedToResolve()
139 bool paired = IsPairedReg(GetGraph()->GetArch(), sf.GetType()); in NeedToResolve()
141 if (sf.GetDst().IsAnyRegister()) { in NeedToResolve()
142 MarkRegWrite(sf.GetDst(), &reg_write_, paired, VREGS_TABLE_OFFSET); in NeedToResolve()
146 if (sf.GetSrc().IsAnyRegister()) { in NeedToResolve()
147 if (IsRegWrite(sf in NeedToResolve()
[all...]
H A Dreg_alloc_base.cpp176 auto sf = inst->CastToParameter()->GetLocationData(); in SetPreassignedRegisters() local
177 if (sf.GetSrc().IsAnyRegister()) { in SetPreassignedRegisters()
178 auto &mask = sf.GetSrc().IsFpRegister() ? vregs_mask_ : regs_mask_; in SetPreassignedRegisters()
179 if (GetGraph()->GetArch() != Arch::AARCH32 || !mask.IsSet(sf.SrcValue())) { in SetPreassignedRegisters()
180 interval->SetPreassignedReg(sf.SrcValue()); in SetPreassignedRegisters()
182 } else if (sf.GetSrc().IsStackParameter()) { in SetPreassignedRegisters()
183 interval->SetLocation(sf.GetSrc()); in SetPreassignedRegisters()
H A Dsplit_resolver.h50 auto sf = inst->CastToSpillFill(); in Is() local
51 ASSERT(sf->GetSpillFillType() != SpillFillType::UNKNOWN); in Is()
52 return sf->GetSpillFillType() == expected_type; in Is()
/arkcompiler/runtime_core/static_core/compiler/optimizer/optimizations/regalloc/
H A Dspill_fills_resolver.cpp135 for (const auto &sf : spillFills) { in NeedToResolve()
136 if (sf.DstType() == sf.SrcType() && sf.DstValue() == sf.SrcValue()) { in NeedToResolve()
140 bool paired = IsPairedReg(GetGraph()->GetArch(), sf.GetType()); in NeedToResolve()
142 if (sf.GetDst().IsAnyRegister()) { in NeedToResolve()
143 MarkRegWrite(sf.GetDst(), &regWrite_, paired, vregsTableOffset_); in NeedToResolve()
147 if (sf.GetSrc().IsAnyRegister()) { in NeedToResolve()
148 if (IsRegWrite(sf in NeedToResolve()
[all...]
H A Dsplit_resolver.h50 auto sf = inst->CastToSpillFill(); in Is() local
51 ASSERT(sf->GetSpillFillType() != SpillFillType::UNKNOWN); in Is()
52 return sf->GetSpillFillType() == EXPECTED_TYPE; in Is()
H A Dreg_alloc_base.cpp193 auto sf = inst->CastToParameter()->GetLocationData(); in SetPreassignedRegisters() local
194 if (sf.GetSrc().IsAnyRegister()) { in SetPreassignedRegisters()
195 auto &mask = sf.GetSrc().IsFpRegister() ? vregsMask_ : regsMask_; in SetPreassignedRegisters()
196 if (GetGraph()->GetArch() != Arch::AARCH32 || !mask.IsSet(sf.SrcValue())) { in SetPreassignedRegisters()
197 interval->SetPreassignedReg(sf.SrcValue()); in SetPreassignedRegisters()
199 } else if (sf.GetSrc().IsStackParameter()) { in SetPreassignedRegisters()
200 interval->SetLocation(sf.GetSrc()); in SetPreassignedRegisters()
/arkcompiler/runtime_core/static_core/compiler/tests/
H A Dreg_alloc_linear_scan_test.cpp65 for (auto sf : sfInst->CastToSpillFill()->GetSpillFills()) { in CheckImmediateSpillFill()
66 if (sf.SrcType() == LocationType::IMMEDIATE && (graph->GetSpilledConstant(sf.SrcValue()) == constInput) && in CheckImmediateSpillFill()
67 sf.DstValue() == srcReg) { in CheckImmediateSpillFill()
75 void TestPhiMovesOverwriting(Graph *graph, SpillFillInst *sf, SpillFillInst *expectedSf);
77 void TestPhiMovesOverwritingCyclic(Graph *graph, SpillFillsResolver &resolver, SpillFillInst *sf,
80 void TestPhiMovesOverwritingNotApplied(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf);
82 void TestPhiMovesOverwritingComplex(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf);
83 void PhiMovesOverwritingMixed(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf);
84 void PhiMovesOverwriting2(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillIns
361 TestPhiMovesOverwriting(Graph *graph, SpillFillInst *sf, SpillFillInst *expectedSf) TestPhiMovesOverwriting() argument
390 TestPhiMovesOverwritingCyclic(Graph *graph, SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf) TestPhiMovesOverwritingCyclic() argument
440 TestPhiMovesOverwritingNotApplied(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf) TestPhiMovesOverwritingNotApplied() argument
455 TestPhiMovesOverwritingComplex(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf) TestPhiMovesOverwritingComplex() argument
493 PhiMovesOverwritingMixed(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf) PhiMovesOverwritingMixed() argument
547 PhiMovesOverwriting2(SpillFillsResolver &resolver, SpillFillInst *sf, SpillFillInst *expectedSf) PhiMovesOverwriting2() argument
615 auto sf = GetGraph()->CreateInstSpillFill(); TEST_F() local
617 TestPhiMovesOverwriting<DataType::UINT32>(GetGraph(), sf, expectedSf); TEST_F() local
618 TestPhiMovesOverwriting<DataType::UINT64>(GetGraph(), sf, expectedSf); TEST_F() local
619 TestPhiMovesOverwriting<DataType::FLOAT64>(GetGraph(), sf, expectedSf); TEST_F() local
662 auto sf = graph->CreateInstSpillFill(); TEST_F() local
1456 auto sf = spillFill->CastToSpillFill()->GetSpillFill(0U); TEST_F() local
1636 auto sf = INS(5U).GetPrev()->CastToSpillFill(); TEST_F() local
[all...]
H A Dreg_alloc_resolver_test.cpp126 auto sf = prev->CastToSpillFill(); in TEST_F() local
127 auto sfData = sf->GetSpillFills(); in TEST_F()
H A Dreg_alloc_verifier_test.cpp295 auto sf = INS(2U).CastToSpillFill(); in TEST_F() local
297 sf->AddMove(1U, 0U, DataType::UINT64); in TEST_F()
298 sf->AddMove(0U, 16U, DataType::UINT64); in TEST_F()
299 sf->AddMove(16U, 1U, DataType::UINT64); in TEST_F()
H A Dreg_alloc_common_test.cpp305 auto it = std::find_if(sfs.cbegin(), sfs.cend(), [reg](auto sf) { in TEST_F()
306 return sf.DstValue() == reg && sf.DstType() == LocationType::REGISTER; in TEST_F()
/arkcompiler/runtime_core/bytecode_optimizer/
H A Dcodegen.cpp153 void BytecodeGen::EncodeSpillFillData(const compiler::SpillFillData &sf) in EncodeSpillFillData() argument
155 if (sf.SrcType() != compiler::LocationType::REGISTER || sf.DstType() != compiler::LocationType::REGISTER) { in EncodeSpillFillData()
157 << static_cast<int>(sf.SrcType()) in EncodeSpillFillData()
158 << " dst_type: " << static_cast<int>(sf.DstType()); in EncodeSpillFillData()
163 ASSERT(sf.GetType() != compiler::DataType::NO_TYPE); in EncodeSpillFillData()
164 ASSERT(sf.SrcValue() != compiler::INVALID_REG && sf.DstValue() != compiler::INVALID_REG); in EncodeSpillFillData()
166 if (sf.SrcValue() == sf in EncodeSpillFillData()
[all...]
H A Dreg_encoder.cpp160 for (auto &sf : inst->GetSpillFills()) { in RenumberSpillFillRegs()
161 if (sf.SrcType() == compiler::LocationType::REGISTER && sf.SrcValue() >= min_reg) { in RenumberSpillFillRegs()
162 sf.SetSrc(compiler::Location::MakeRegister(RenumberReg(sf.SrcValue(), delta))); in RenumberSpillFillRegs()
164 if (sf.DstType() == compiler::LocationType::REGISTER && sf.DstValue() >= min_reg) { in RenumberSpillFillRegs()
165 sf.SetDst(compiler::Location::MakeRegister(RenumberReg(sf.DstValue(), delta))); in RenumberSpillFillRegs()
H A Dcodegen.h94 void EncodeSpillFillData(const compiler::SpillFillData &sf);
/arkcompiler/runtime_core/static_core/compiler/optimizer/analysis/
H A Dreg_alloc_verifier.cpp467 auto sf = inst->GetLocationData(); in HandleParameter() local
468 UpdateLocation(sf.GetDst(), inst->GetType(), inst->GetId()); in HandleParameter()
480 for (auto sf : inst->GetSpillFills()) { in HandleSpillFill()
483 sf.GetSrc(), sf.GetType(), [&state, &sf, inst, arch = GetGraph()->GetArch()](LocationState &st) { in HandleSpillFill()
487 COMPILER_LOG(ERROR, REGALLOC) << "SpillFill is accessing " << sf.GetSrc().ToString(arch) in HandleSpillFill()
496 << inst->GetId() << " read from " << sf.GetSrc().ToString(arch); in HandleSpillFill()
500 UpdateLocation(sf.GetDst(), sf in HandleSpillFill()
[all...]
/arkcompiler/runtime_core/compiler/optimizer/ir/
H A Dspill_fill_data.h101 inline auto ToString(const SpillFillData &sf, Arch arch) in ToString() argument
104 sf.Dump(ss, arch); in ToString()
/arkcompiler/runtime_core/static_core/compiler/optimizer/ir/
H A Dspill_fill_data.h99 inline auto ToString(const SpillFillData &sf, Arch arch) in ToString() argument
102 sf.Dump(ss, arch); in ToString()
/arkcompiler/runtime_core/static_core/bytecode_optimizer/
H A Dcodegen.cpp200 void BytecodeGen::EncodeSpillFillData(const compiler::SpillFillData &sf) in EncodeSpillFillData() argument
202 if (sf.SrcType() != compiler::LocationType::REGISTER || sf.DstType() != compiler::LocationType::REGISTER) { in EncodeSpillFillData()
204 << static_cast<int>(sf.SrcType()) in EncodeSpillFillData()
205 << " dst_type: " << static_cast<int>(sf.DstType()); in EncodeSpillFillData()
210 ASSERT(sf.GetType() != compiler::DataType::NO_TYPE); in EncodeSpillFillData()
211 ASSERT(sf.SrcValue() != compiler::INVALID_REG && sf.DstValue() != compiler::INVALID_REG); in EncodeSpillFillData()
213 if (sf.SrcValue() == sf in EncodeSpillFillData()
[all...]
H A Dreg_encoder.cpp191 for (auto &sf : inst->GetSpillFills()) { in RenumberSpillFillRegs()
192 if (sf.SrcType() == compiler::LocationType::REGISTER && sf.SrcValue() >= minReg) { in RenumberSpillFillRegs()
193 sf.SetSrc(compiler::Location::MakeRegister(RenumberReg(sf.SrcValue(), delta))); in RenumberSpillFillRegs()
195 if (sf.DstType() == compiler::LocationType::REGISTER && sf.DstValue() >= minReg) { in RenumberSpillFillRegs()
196 sf.SetDst(compiler::Location::MakeRegister(RenumberReg(sf.DstValue(), delta))); in RenumberSpillFillRegs()
H A Dcodegen.h104 void EncodeSpillFillData(const compiler::SpillFillData &sf);
/arkcompiler/runtime_core/compiler/tests/
H A Dreg_alloc_common_test.cpp260 auto it = std::find_if(sfs.cbegin(), sfs.cend(), [reg](auto sf) { in TEST_F()
261 return sf.DstValue() == reg && sf.DstType() == LocationType::REGISTER; in TEST_F()
H A Dsplit_resolver_test.cpp66 auto sf = inst->CastToSpillFill(); in CheckSpillFills() local
70 for (auto &sf_data : sf->GetSpillFills()) { in CheckSpillFills()
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
H A Dassembler_aarch64.cpp108 bool sf = !rt.IsW(); in Ldp() local
110 if (sf) { in Ldp()
115 uint32_t instructionCode = Sf(sf) | op | LoadAndStorePairImm(imm) | Rt2(rt2.GetId()) | in Ldp()
142 bool sf = !rt.IsW(); in Stp() local
144 if (sf) { in Stp()
149 uint32_t instructionCode = Sf(sf) | op | LoadAndStorePairImm(imm) | Rt2(rt2.GetId()) | in Stp()
744 bool sf = !rd.IsW(); in Ubfm() local
745 uint32_t n = (sf << BITWISE_OP_N_LOWBITS) & BITWISE_OP_N_MASK; in Ubfm()
748 uint32_t code = Sf(sf) | UBFM | n | immr_field | imms_field | Rn(rn.GetId()) | Rd(rd.GetId()); in Ubfm()
754 bool sf in Bfm() local
[all...]

Completed in 21 milliseconds

12