/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/x86_64/ |
H A D | x64_proepilog.cpp | 30 X64CGFunc &x64cgFunc = static_cast<X64CGFunc &>(cgFunc); in GenerateCalleeSavedRegs() 36 X64MemLayout *memLayout = static_cast<X64MemLayout *>(cgFunc.GetMemlayout()); in GenerateCalleeSavedRegs() 38 static_cast<X64CGFunc &>(cgFunc).SizeOfCalleeSaved() - memLayout->SizeOfArgsToStackPass())); in GenerateCalleeSavedRegs() 39 RegOperand &baseReg = cgFunc.GetOpndBuilder()->CreatePReg(x64::RBP, k64BitSize, kRegTyInt); in GenerateCalleeSavedRegs() 46 RegOperand &calleeReg = cgFunc.GetOpndBuilder()->CreatePReg(reg, regSize, regType); in GenerateCalleeSavedRegs() 49 MemOperand &memOpnd = cgFunc.GetOpndBuilder()->CreateMem(baseReg, offset, regSize); in GenerateCalleeSavedRegs() 59 emitMemoryManager.funcCalleeOffsetSaver(emitMemoryManager.codeSpace, cgFunc.GetName(), calleeRegAndOffsetVec); in GenerateCalleeSavedRegs() 61 emitMemoryManager.funcFpSPDeltaSaver(emitMemoryManager.codeSpace, cgFunc.GetName(), fp2SPDelta); in GenerateCalleeSavedRegs() 68 Insn ©Insn = cgFunc.GetInsnBuilder()->BuildInsn(mMovrmOp, X64CG::kMd[mMovrmOp]); in GeneratePushCalleeSavedRegs() 70 cgFunc in GeneratePushCalleeSavedRegs() [all...] |
H A D | x64_MPIsel.cpp | 40 auto *symloc = static_cast<X64SymbolAlloc *>(cgFunc->GetMemlayout()->GetSymAllocInfo(symbol.GetStIndex())); in GetOrCreateMemOpndFromSymbol() 42 stackBaseReg = static_cast<X64CGFunc *>(cgFunc)->GetBaseReg(*symloc); in GetOrCreateMemOpndFromSymbol() 43 int stOfst = cgFunc->GetBaseOffset(*symloc); in GetOrCreateMemOpndFromSymbol() 67 MIRType *retType = cgFunc->GetFunction().GetReturnType(); in SelectReturn() 68 X64CallConvImpl retLocator(cgFunc->GetBecommon()); in SelectReturn() 78 RegOperand &retOpnd = cgFunc->GetOpndBuilder()->CreatePReg(retReg, GetPrimTypeBitSize(oriPrimType), in SelectReturn() 79 cgFunc->GetRegTyFromPrimTy(oriPrimType)); in SelectReturn() 90 Insn &pInsn = cgFunc->GetInsnBuilder()->BuildInsn(mop, X64CG::kMd[mop]); in SelectPseduoForReturn() 91 cgFunc->GetCurBB()->AppendInsn(pInsn); in SelectPseduoForReturn() 100 LabelNode *endLabel = cgFunc in SelectReturn() [all...] |
H A D | x64_standardize.cpp | 59 void X64Standardize::StdzUnaryOp(Insn &insn, CGFunc &cgFunc) in StdzUnaryOp() argument 63 StdzFloatingNeg(insn, cgFunc); in StdzUnaryOp() 73 void X64Standardize::StdzCvtOp(Insn &insn, CGFunc &cgFunc) in StdzCvtOp() argument 100 src = &cgFunc.GetOpndBuilder()->CreateVReg(src->GetRegisterNumber(), srcSize, src->GetRegisterType()); in StdzCvtOp() 105 dest = &cgFunc.GetOpndBuilder()->CreateVReg(dest->GetRegisterNumber(), destSize, dest->GetRegisterType()); in StdzCvtOp() 123 void X64Standardize::StdzFloatingNeg(Insn &insn, CGFunc &cgFunc) in StdzFloatingNeg() argument 130 RegOperand *tmpOperand0 = &cgFunc.GetOpndBuilder()->CreateVReg(bitSize, kRegTyInt); in StdzFloatingNeg() 131 Insn &movInsn0 = cgFunc.GetInsnBuilder()->BuildInsn(movOp, X64CG::kMd[movOp]); in StdzFloatingNeg() 139 ImmOperand &imm = cgFunc.GetOpndBuilder()->CreateImm(bitSize, (static_cast<int64>(1) << (bitSize - 1))); in StdzFloatingNeg() 141 Operand *tmpOperand1 = &cgFunc in StdzFloatingNeg() 166 StdzShiftOp(Insn &insn, CGFunc &cgFunc) StdzShiftOp() argument [all...] |
H A D | x64_cfgo.cpp | 23 diffPassPatterns.emplace_back(memPool->New<X64FlipBRPattern>(*cgFunc, loopInfo)); in InitOptimizePatterns() 24 diffPassPatterns.emplace_back(memPool->New<UnreachBBPattern>(*cgFunc)); in InitOptimizePatterns() 25 diffPassPatterns.emplace_back(memPool->New<EmptyBBPattern>(*cgFunc)); in InitOptimizePatterns()
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/aarch64/ |
H A D | aarch64_peep.h | 51 explicit RemoveIdenticalLoadAndStoreAArch64(CGFunc &cgFunc) : PeepPattern(cgFunc) {} in RemoveIdenticalLoadAndStoreAArch64() argument 62 RemoveMovingtoSameRegPattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) : CGPeepPattern(cgFunc, currBB, currInsn) in RemoveMovingtoSameRegPattern() argument 77 explicit RemoveMovingtoSameRegAArch64(CGFunc &cgFunc) : PeepPattern(cgFunc) {} in RemoveMovingtoSameRegAArch64() argument 88 CombineContiLoadAndStorePattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) in CombineContiLoadAndStorePattern() argument 89 : CGPeepPattern(cgFunc, currBB, currInsn) in CombineContiLoadAndStorePattern() 91 doAggressiveCombine = cgFunc.GetMirModule().IsCModule(); in CombineContiLoadAndStorePattern() 135 explicit EnhanceStrLdrAArch64(CGFunc &cgFunc) argument 154 EliminateSpecifcSXTAArch64(CGFunc &cgFunc) EliminateSpecifcSXTAArch64() argument 166 EliminateSpecifcUXTAArch64(CGFunc &cgFunc) EliminateSpecifcUXTAArch64() argument 181 FmovRegPattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) FmovRegPattern() argument 207 SbfxOptPattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) SbfxOptPattern() argument 235 CbnzToCbzPattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) CbnzToCbzPattern() argument 270 CsetCbzToBeqOptAArch64(CGFunc &cgFunc) CsetCbzToBeqOptAArch64() argument 281 ContiLDRorSTRToSameMEMPattern(CGFunc &cgFunc, BB &currBB, Insn &currInsn) ContiLDRorSTRToSameMEMPattern() argument 314 AndCmpBranchesToTstAArch64(CGFunc &cgFunc) AndCmpBranchesToTstAArch64() argument 326 AndCbzBranchesToTstAArch64(CGFunc &cgFunc) AndCbzBranchesToTstAArch64() argument 372 AndCmpBranchesToCsetAArch64(CGFunc &cgFunc) AndCmpBranchesToCsetAArch64() argument 402 ZeroCmpBranchesAArch64(CGFunc &cgFunc) ZeroCmpBranchesAArch64() argument 433 CmpCsetAArch64(CGFunc &cgFunc) CmpCsetAArch64() argument 452 ComplexMemOperandAddAArch64(CGFunc &cgFunc) ComplexMemOperandAddAArch64() argument 470 RemoveSxtBeforeStrAArch64(CGFunc &cgFunc) RemoveSxtBeforeStrAArch64() argument 485 CselZeroOneToCsetOpt(CGFunc &cgFunc) CselZeroOneToCsetOpt() argument 495 CGFunc *cgFunc; global() member in maplebe::CselZeroOneToCsetOpt 510 AndCmpCsetEorCbzOpt(CGFunc &cgFunc) AndCmpCsetEorCbzOpt() argument 515 CGFunc *cgFunc; global() member in maplebe::AndCmpCsetEorCbzOpt 527 AddLdrOpt(CGFunc &cgFunc) AddLdrOpt() argument 532 CGFunc *cgFunc; global() member in maplebe::AddLdrOpt 544 CsetEorOpt(CGFunc &cgFunc) CsetEorOpt() argument 549 CGFunc *cgFunc; global() member in maplebe::CsetEorOpt 561 MoveCmpOpt(CGFunc &cgFunc) MoveCmpOpt() argument 566 CGFunc *cgFunc; global() member in maplebe::MoveCmpOpt 577 AddImmZeroToMov(CGFunc &cgFunc) AddImmZeroToMov() argument 582 CGFunc *cgFunc; global() member in maplebe::AddImmZeroToMov [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/ |
H A D | cgfunc.cpp | 32 static Operand *HandleDread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleDread() argument 35 return cgFunc.SelectDread(parent, dreadNode); in HandleDread() 38 static Operand *HandleRegread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleRegread() argument 42 return cgFunc.SelectRegread(regReadNode); in HandleRegread() 45 static Operand *HandleConstVal(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleConstVal() argument 52 return cgFunc.SelectIntConst(*mirIntConst, parent); in HandleConstVal() 55 return cgFunc.SelectFloatConst(*mirFloatConst, parent); in HandleConstVal() 59 return cgFunc.SelectDoubleConst(*mirDoubleConst, parent); in HandleConstVal() 64 static Operand *HandleAdd(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) in HandleAdd() argument 66 return cgFunc in HandleAdd() 70 HandleShift(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleShift() argument 76 HandleMpy(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleMpy() argument 82 HandleDiv(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleDiv() argument 88 HandleRem(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleRem() argument 94 HandleIread(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleIread() argument 100 HandleSub(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleSub() argument 106 HandleBand(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleBand() argument 112 HandleBior(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleBior() argument 118 HandleBxor(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleBxor() argument 124 HandleAbs(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleAbs() argument 131 HandleBnot(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleBnot() argument 136 HandleExtractBits(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleExtractBits() argument 151 HandleLnot(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleLnot() argument 158 HandleMin(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleMin() argument 164 HandleMax(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleMax() argument 170 HandleSqrt(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleSqrt() argument 175 HandleCeil(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleCeil() argument 180 HandleFloor(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleFloor() argument 186 HandleRetype(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleRetype() argument 193 HandleCvt(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleCvt() argument 198 HandleTrunc(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleTrunc() argument 204 HandleCmp(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleCmp() argument 220 HandleIntrinOp(const BaseNode &parent, BaseNode &expr, CGFunc &cgFunc) HandleIntrinOp() argument 273 HandleLabel(StmtNode &stmt, CGFunc &cgFunc) HandleLabel() argument 286 HandleGoto(StmtNode &stmt, CGFunc &cgFunc) HandleGoto() argument 299 HandleCondbr(StmtNode &stmt, CGFunc &cgFunc) HandleCondbr() argument 369 HandleReturn(StmtNode &stmt, CGFunc &cgFunc) HandleReturn() argument 382 HandleCall(StmtNode &stmt, CGFunc &cgFunc) HandleCall() argument 388 HandleICall(StmtNode &stmt, CGFunc &cgFunc) HandleICall() argument 395 HandleIntrinsicCall(StmtNode &stmt, CGFunc &cgFunc) HandleIntrinsicCall() argument 401 HandleDassign(StmtNode &stmt, CGFunc &cgFunc) HandleDassign() argument 418 HandleRegassign(StmtNode &stmt, CGFunc &cgFunc) HandleRegassign() argument 435 HandleIassign(StmtNode &stmt, CGFunc &cgFunc) HandleIassign() argument 446 HandleRangeGoto(StmtNode &stmt, CGFunc &cgFunc) HandleRangeGoto() argument 454 HandleComment(StmtNode &stmt, CGFunc &cgFunc) HandleComment() argument [all...] |
H A D | label_creation.cpp | 30 DEBUG_ASSERT(cgFunc != nullptr, "expect a cgfunc before CreateStartEndLabel"); in CreateStartEndLabel() 31 MIRBuilder *mirBuilder = cgFunc->GetFunction().GetModule()->GetMIRBuilder(); in CreateStartEndLabel() 34 LabelIdx startLblIdx = cgFunc->CreateLabel(); in CreateStartEndLabel() 36 cgFunc->GetFunction().GetBody()->InsertFirst(startLabel); in CreateStartEndLabel() 38 LabelIdx returnLblIdx = cgFunc->CreateLabel(); in CreateStartEndLabel() 40 cgFunc->GetFunction().GetBody()->InsertLast(returnLabel); in CreateStartEndLabel() 43 LabelIdx endLblIdx = cgFunc->CreateLabel(); in CreateStartEndLabel() 45 cgFunc->SetEndLabel(*endLabel); in CreateStartEndLabel() 46 cgFunc->GetFunction().GetBody()->InsertLast(endLabel); in CreateStartEndLabel() 47 DEBUG_ASSERT(cgFunc in CreateStartEndLabel() [all...] |
H A D | cfi_generator.cpp | 48 Insn &cfiInsn = cgFunc.GetInsnBuilder() in InsertCFIDefCfaOffset() 50 .AddOpndChain(cgFunc.CreateCfiImmOperand(cfiOffset, k64BitSize)); in InsertCFIDefCfaOffset() 57 Insn &startProcInsn = cgFunc.GetInsnBuilder()->BuildCfiInsn(cfi::OP_CFI_startproc); in GenerateStartDirective() 67 bb.AppendInsn(cgFunc.GetInsnBuilder()->BuildCfiInsn(cfi::OP_CFI_endproc)); in GenerateEndDirective() 72 if (&bb == cgFunc.GetLastBB() || bb.GetNext() == nullptr) { in GenerateRegisterStateDirective() 78 if (nextBB == cgFunc.GetLastBB() || !nextBB->IsEmpty()) { in GenerateRegisterStateDirective() 85 bb.InsertInsnBegin(cgFunc.GetInsnBuilder()->BuildCfiInsn(cfi::OP_CFI_remember_state)); in GenerateRegisterStateDirective() 86 nextBB->InsertInsnBegin(cgFunc.GetInsnBuilder()->BuildCfiInsn(cfi::OP_CFI_restore_state)); in GenerateRegisterStateDirective() 92 auto *startBB = cgFunc.GetFirstBB(); in Run() 95 if (cgFunc in Run() [all...] |
H A D | isel.cpp | 181 CGFunc *cgFunc = iSel.GetCurFunc(); in HandleLabel() local 184 BB *newBB = cgFunc->StartNewBBImpl(false, label); in HandleLabel() 186 cgFunc->SetLab2BBMap(static_cast<int32>(newBB->GetLabIdx()), *newBB); in HandleLabel() 187 cgFunc->SetCurBB(*newBB); in HandleLabel() 192 CGFunc *cgFunc = iSel.GetCurFunc(); in HandleGoto() local 195 cgFunc->SetCurBBKind(BB::kBBGoto); in HandleGoto() 197 cgFunc->SetCurBB(*cgFunc->StartNewBB(gotoNode)); in HandleGoto() 200 DEBUG_ASSERT(cgFunc->GetCurBB()->GetPrev()->GetLastStmt() == &stmt, "check the relation between BB and stmt"); in HandleGoto() 212 CGFunc *cgFunc in HandleRangeGoto() local 223 CGFunc *cgFunc = iSel.GetCurFunc(); HandleReturn() local 259 CGFunc *cgFunc = iSel.GetCurFunc(); HandleCondbr() local 544 CGFunc *cgFunc = iSel.GetCurFunc(); SelectCallCommon() local [all...] |
H A D | cfgo.cpp | 23 * This phase traverses all basic block of cgFunc and finds special 39 for (bb = from.GetNext(); bb != nullptr && bb != &to && bb != cgFunc->GetLastBB(); bb = bb->GetNext()) { in NoInsnBetween() 92 !cgFunc->GetTheCFG()->CanMerge(curBB, *sucBB)) { in MergeFallthuBB() 102 if (sucBB == cgFunc->GetLastBB()) { in MergeFallthuBB() 103 cgFunc->SetLastBB(curBB); in MergeFallthuBB() 105 cgFunc->GetTheCFG()->MergeBB(curBB, *sucBB, *cgFunc); in MergeFallthuBB() 116 cgFunc->GetTheCFG()->MergeBB(curBB, sucBB, *cgFunc); in MergeGotoBB() 143 if (sucBB.GetId() == cgFunc in MoveSuccBBAsCurBBNext() [all...] |
H A D | cg_cfg.cpp | 32 if (cgFunc->HasBuiltCfg()) { in BuildCFG() 39 BB *firstBB = cgFunc->GetFirstBB(); in BuildCFG() 56 BB *brToBB = cgFunc->GetBBFromLab2BBMap(labelOpnd.GetLabelIndex()); in BuildCFG() 72 BB *gotoBB = cgFunc->GetBBFromLab2BBMap(labelIdx); in BuildCFG() 81 BB *gotoBB = cgFunc->GetBBFromLab2BBMap(labelIdx); in BuildCFG() 102 FindAndMarkUnreachable(*cgFunc); in BuildCFG() 103 cgFunc->SetHasBuiltCfg(true); in BuildCFG() 108 FOR_ALL_BB(bb, cgFunc) in CheckCFG() 129 FOR_ALL_BB(bb, cgFunc) in CheckCFG() 360 !InSwitchTable(it->GetLabIdx(), *cgFunc) in FlushUnReachableStatusAndRemoveRelations() [all...] |
H A D | standardize.cpp | 23 FOR_ALL_BB(bb, cgFunc) { in DoStandardize() 35 FOR_ALL_BB(bb, cgFunc) { in DoStandardize() 47 StdzUnaryOp(*insn, *cgFunc); in DoStandardize() 49 StdzCvtOp(*insn, *cgFunc); in DoStandardize() 51 StdzShiftOp(*insn, *cgFunc); in DoStandardize() 84 Insn &newInsn = cgFunc->GetInsnBuilder()->BuildInsn(mOp, InsnDesc::GetAbstractId(mOp)); in AddressMapping()
|
H A D | obj_emit.cpp | 33 CGFunc &cgFunc = objFuncEmitInfo.GetCGFunc(); in EmitFuncBinaryCode() local 34 objFuncEmitInfo.SetFuncName(cgFunc.GetName()); in EmitFuncBinaryCode() 36 int labelSize = static_cast<int>(cgFunc.GetLab2BBMap().size()) + in EmitFuncBinaryCode() 37 static_cast<int>(cgFunc.GetLabelAndValueMap().size()) + 1; in EmitFuncBinaryCode() 42 int symbolSize = static_cast<int>(cgFunc.GetLabelIdx() + 1); in EmitFuncBinaryCode() 48 for (const auto &mpPair : cgFunc.GetLabelAndValueMap()) { in EmitFuncBinaryCode() 60 CGFunc &cgFunc = objFuncEmitInfo.GetCGFunc(); in EmitInstructions() local 61 FOR_ALL_BB(bb, &cgFunc) { in EmitInstructions() 87 CGFunc &cgFunc = objFuncEmitInfo.GetCGFunc(); in EmitSwitchTable() local 88 if (cgFunc in EmitSwitchTable() 201 CGFunc &cgFunc = objFuncEmitInfo.GetCGFunc(); EmitFunctionSymbolTable() local [all...] |
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/src/cg/aarch64/ |
H A D | aarch64_proepilog.cpp | 21 #define PROEPILOG_DUMP CG_DEBUG_FUNC(cgFunc) 65 MemOperand *AArch64GenProEpilog::SplitStpLdpOffsetForCalleeSavedWithAddInstruction(CGFunc &cgFunc, const MemOperand &mo, in SplitStpLdpOffsetForCalleeSavedWithAddInstruction() argument 68 auto &aarchCGFunc = static_cast<AArch64CGFunc &>(cgFunc); in SplitStpLdpOffsetForCalleeSavedWithAddInstruction() 86 void AArch64GenProEpilog::AppendInstructionPushPair(CGFunc &cgFunc, AArch64reg reg0, AArch64reg reg1, RegType rty, in AppendInstructionPushPair() argument 89 auto &aarchCGFunc = static_cast<AArch64CGFunc &>(cgFunc); in AppendInstructionPushPair() 98 o2 = SplitStpLdpOffsetForCalleeSavedWithAddInstruction(cgFunc, *static_cast<MemOperand *>(o2), dataSize, R16); in AppendInstructionPushPair() 100 Insn &pushInsn = cgFunc.GetInsnBuilder()->BuildInsn(mOp, o0, o1, *o2); in AppendInstructionPushPair() 102 auto *memDefUse = cgFunc.GetFuncScopeAllocator()->New<MemDefUse>(*cgFunc.GetFuncScopeAllocator()); in AppendInstructionPushPair() 107 AppendInstructionTo(pushInsn, cgFunc); in AppendInstructionPushPair() 110 AppendInstructionPushSingle(CGFunc &cgFunc, AArch64reg reg, RegType rty, int32 offset) AppendInstructionPushSingle() argument 632 AppendInstructionPopSingle(CGFunc &cgFunc, AArch64reg reg, RegType rty, int32 offset) AppendInstructionPopSingle() argument 653 AppendInstructionPopPair(CGFunc &cgFunc, AArch64reg reg0, AArch64reg reg1, RegType rty, int32 offset) AppendInstructionPopPair() argument [all...] |
H A D | aarch64_cfi_generator.cpp | 22 static_cast<int32>(static_cast<AArch64MemLayout *>(cgFunc.GetMemlayout())->RealStackFrameSize()); in GenerateRegisterSaveDirective() 23 auto argsToStkPassSize = static_cast<int32>(cgFunc.GetMemlayout()->SizeOfArgsToStackPass()); in GenerateRegisterSaveDirective() 27 auto &aarchCGFunc = static_cast<AArch64CGFunc &>(cgFunc); in GenerateRegisterSaveDirective() 32 int32 RLROffset = static_cast<AArch64CGFunc &>(cgFunc).GetStoreFP() ? kOffset8MemPos : 0; in GenerateRegisterSaveDirective() 38 bool isLmbc = cgFunc.GetMirModule().GetFlavor() == MIRFlavor::kFlavorLmbc; in GenerateRegisterSaveDirective() 42 static_cast<AArch64MemLayout *>(cgFunc.GetMemlayout())->RealStackFrameSize() - in GenerateRegisterSaveDirective() 43 static_cast<uint32>(argsToStkPassSize) + cgFunc.GetFunction().GetFrameReseverdSlot(), in GenerateRegisterSaveDirective() 47 bb.InsertInsnAfter(*curInsn, cgFunc.GetInsnBuilder() in GenerateRegisterSaveDirective() 49 .AddOpndChain(cgFunc.CreateCfiRegOperand(stackBaseReg, k64BitSize))); in GenerateRegisterSaveDirective() 71 int32 offset = cgFunc in GenerateRegisterSaveDirective() [all...] |
H A D | aarch64_fixshortbranch.cpp | 48 AArch64CGFunc *aarch64CGFunc = static_cast<AArch64CGFunc *>(cgFunc); in SetInsnId() 59 !cgFunc->GetCG()->IsLibcore()) { in SetInsnId() 72 FOR_ALL_BB(bb, cgFunc) in CalculateIfBBNum() 83 AArch64CGFunc *aarch64CGFunc = static_cast<AArch64CGFunc *>(cgFunc); in PatchLongBranch() 117 AArch64CGFunc *aarch64CGFunc = static_cast<AArch64CGFunc *>(cgFunc); in FixShortBranches() 166 (void)bb->InsertInsnAfter(*insn, cgFunc->GetInsnBuilder()->BuildInsn(cbOp, tmp, label)); in FixShortBranches() 168 cgFunc->GetInsnBuilder()->BuildInsn(ubfxOp, tmp, reg, bitPos, bitSize)); in FixShortBranches() 183 for (auto *bb = cgFunc->GetLastBB(); bb != nullptr && !findLast; bb = bb->GetPrev()) { in CheckFunctionSize() 194 for (auto *bb = cgFunc->GetFirstBB(); bb != nullptr && !findFirst; bb = bb->GetNext()) { in CheckFunctionSize() 216 AArch64CGFunc *aarch64CGFunc = static_cast<AArch64CGFunc *>(cgFunc); in FixLdr() [all...] |
H A D | aarch64_cfgo.cpp | 22 diffPassPatterns.emplace_back(memPool->New<ChainingPattern>(*cgFunc)); in InitOptimizePatterns() 23 auto *brOpt = memPool->New<AArch64FlipBRPattern>(*cgFunc, loopInfo); in InitOptimizePatterns() 28 diffPassPatterns.emplace_back(memPool->New<UnreachBBPattern>(*cgFunc)); in InitOptimizePatterns() 29 diffPassPatterns.emplace_back(memPool->New<EmptyBBPattern>(*cgFunc)); in InitOptimizePatterns()
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/ |
H A D | peep.h | 28 PeepOptimizeManager(CGFunc &f, BB &bb, Insn &insn) : cgFunc(&f), currBB(&bb), currInsn(&insn) {} in PeepOptimizeManager() 37 OptimizePattern optPattern(*cgFunc, *currBB, *currInsn); in Optimize() 50 OptimizePattern optPattern(*cgFunc, *currBB, *currInsn); in NormalPatternOpt() 67 CGFunc *cgFunc; member in maplebe::PeepOptimizeManager 83 CGPeepHole(CGFunc &f, MemPool *memPool) : cgFunc(&f), peepMemPool(memPool) {} in CGPeepHole() 90 CGFunc *cgFunc; member in maplebe::CGPeepHole 97 explicit PeepPattern(CGFunc &oneCGFunc) : cgFunc(oneCGFunc) {} in PeepPattern() 110 CGFunc &cgFunc; member in maplebe::PeepPattern 116 CGPeepPattern(CGFunc &f, BB &bb, Insn &insn) : cgFunc(&f), currBB(&bb), currInsn(&insn) {} in CGPeepPattern() 147 CGFunc *cgFunc; member in maplebe::CGPeepPattern 166 CGFunc *cgFunc; global() member in maplebe::PeepHoleOptimizer 184 CGFunc &cgFunc; global() member in maplebe::PeepPatternMatch 199 CGFunc &cgFunc; global() member in maplebe::PeepOptimizer [all...] |
H A D | standardize.h | 23 explicit Standardize(CGFunc &f) : cgFunc(&f) {} in Standardize() 27 cgFunc = nullptr; in ~Standardize() 63 virtual void StdzUnaryOp(Insn &insn, CGFunc &cgFunc) = 0; 64 virtual void StdzCvtOp(Insn &insn, CGFunc &cgFunc) = 0; 65 virtual void StdzShiftOp(Insn &insn, CGFunc &cgFunc) = 0; 66 CGFunc *cgFunc; member in maplebe::Standardize
|
H A D | cg_cfg.h | 23 explicit InsnVisitor(CGFunc &func) : cgFunc(&func) {} in InsnVisitor() 28 return cgFunc; in GetCGFunc() 56 CGFunc *cgFunc; member in maplebe::InsnVisitor 61 explicit CGCFG(CGFunc &cgFunc) : cgFunc(&cgFunc) {} in CGCFG() argument 105 CGFunc *cgFunc = nullptr; member in maplebe::CGCFG
|
H A D | args.h | 25 explicit MoveRegArgs(CGFunc &func) : cgFunc(&func) {} in MoveRegArgs() 38 return cgFunc; in GetCGFunc() 42 CGFunc *cgFunc; member in maplebe::MoveRegArgs
|
H A D | offset_adjust.h | 25 explicit FrameFinalize(CGFunc &func) : cgFunc(&func) {} in FrameFinalize() 29 cgFunc = nullptr; in ~FrameFinalize() 40 CGFunc *cgFunc; member in maplebe::FrameFinalize
|
H A D | optimize_common.h | 36 : patternName(func.GetMemoryPool()), cgFunc(&func), dotColor(func.GetMemoryPool()) in OptimizationPattern() 53 return CGCFG::InSwitchTable(label, *cgFunc); in IsLabelInSwitchTable() 65 CGFunc *cgFunc; member in maplebe::OptimizationPattern 73 : cgFunc(&func), in Optimizer() 88 CGFunc *cgFunc; member in maplebe::Optimizer 92 /* patterns need to run in different passes of cgFunc */ 94 /* patterns can run in a single pass of cgFunc */ 125 static void GenerateDot(const std::string &preFix, const CGFunc &cgFunc, const MIRModule &mod,
|
/arkcompiler/ets_runtime/ecmascript/compiler/codegen/maple/maple_be/include/cg/x86_64/ |
H A D | x64_emitter.h | 40 void EmitFunctionHeader(maplebe::CGFunc &cgFunc); 41 void EmitBBHeaderLabel(maplebe::CGFunc &cgFunc, LabelIdx labIdx, uint32 freq); 43 void EmitJmpTable(const maplebe::CGFunc &cgFunc); 44 void EmitFunctionFoot(maplebe::CGFunc &cgFunc); 47 void EmitLocalVariable(maplebe::CGFunc &cgFunc); 54 void Run(maplebe::CGFunc &cgFunc);
|
H A D | x64_standardize.h | 35 void StdzUnaryOp(Insn &insn, CGFunc &cgFunc) override; 36 void StdzCvtOp(Insn &insn, CGFunc &cgFunc) override; 37 void StdzShiftOp(Insn &insn, CGFunc &cgFunc) override; 38 void StdzFloatingNeg(Insn &insn, CGFunc &cgFunc);
|