| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVLIWPacketizer.cpp | 108 const HexagonInstrInfo *HII = nullptr; member in __anon73fb695d0111::HexagonPacketizer 131 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in INITIALIZE_PASS_DEPENDENCY() 203 HII = HST.getInstrInfo(); in runOnMachineFunction() 211 HII->genAllInsnTimingClasses(MF); in runOnMachineFunction() 237 HII->translateInstrsForDup(MF, true); in runOnMachineFunction() 246 while (RB != End && HII->isSchedulingBoundary(*RB, &MB, MF)) in runOnMachineFunction() 251 while (RE != End && !HII->isSchedulingBoundary(*RE, &MB, MF)) in runOnMachineFunction() 266 HII->translateInstrsForDup(MF, false); in runOnMachineFunction() 286 auto *ExtMI = MF.CreateMachineInstr(HII->get(Hexagon::A4_ext), DebugLoc()); in tryAllocateResourcesForConstExt() 300 if (HII->isDeallocRet(MI)) in isCallDependent() [all …]
|
| H A D | HexagonBranchRelaxation.cpp | 60 const HexagonInstrInfo *HII; member 87 HII = HST.getInstrInfo(); in runOnMachineFunction() 108 InstOffset += HII->getSize(MI); in computeOffset() 110 if (MI.isBranch() && HII->isExtendable(MI)) in computeOffset() 142 if (HII->isExtended(MI)) in isJumpOutOfRange() 151 InstOffset += HII->nonDbgBBSize(&B) * HEXAGON_INSTR_SIZE; in isJumpOutOfRange() 157 if (HII->analyzeBranch(B, TBB, FBB, Cond, false)) { in isJumpOutOfRange() 161 if (HII->isNewValueJump(*FirstTerm)) in isJumpOutOfRange() 162 TBB = FirstTerm->getOperand(HII->getCExtOpNum(*FirstTerm)).getMBB(); in isJumpOutOfRange() 167 return !HII->isJumpWithinBranchRange(*FirstTerm, Distance); in isJumpOutOfRange() [all …]
|
| H A D | HexagonOptAddrMode.cpp | 81 const HexagonInstrInfo *HII = nullptr; member in __anon8a08179c0111::HexagonOptAddrMode 138 if ((!MID.mayStore() && !MID.mayLoad()) || HII->isPredicated(MI)) in INITIALIZE_PASS_DEPENDENCY() 147 if (HII->getAddrMode(MI) == HexagonII::BaseRegOffset) in INITIALIZE_PASS_DEPENDENCY() 149 return (HII->changeAddrMode_rr_ur(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY() 150 else if (HII->getAddrMode(MI) == HexagonII::BaseImmOffset) in INITIALIZE_PASS_DEPENDENCY() 152 return (HII->changeAddrMode_io_abs(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY() 205 HII->getAddrMode(UseMI) != HexagonII::BaseImmOffset || in canRemoveAddasl() 357 if (HII->isHVXVec(*MI)) { in isValidOffset() 367 return HII->isValidOffset(MI->getOpcode(), Offset, HRI, false); in isValidOffset() 369 if (HII->getAddrMode(*MI) == HexagonII::BaseImmOffset) { in isValidOffset() [all …]
|
| H A D | HexagonFrameLowering.cpp | 585 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local 616 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock() 632 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock() 698 BuildMI(MBB, InsertPt, dl, HII.get(LDOpc), RegUsed) in insertPrologueInBlock() 705 BuildMI(MBB, InsertPt, dl, HII.get(STOpc)) in insertPrologueInBlock() 725 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_storeri_io)) in insertPrologueInBlock() 737 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock() 745 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::PS_call_stk)) in insertPrologueInBlock() 749 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock() 758 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local [all …]
|
| H A D | HexagonFrameLowering.h | 139 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 142 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 145 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 148 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 151 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 154 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 157 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 160 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 163 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
|
| H A D | HexagonVExtract.cpp | 50 const HexagonInstrInfo *HII = nullptr; member in __anoncdbfe6ba0111::HexagonVExtract 78 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::L2_loadri_io), ElemR) in genElemLoad() 86 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::A2_andir), IdxR) in genElemLoad() 89 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::L4_loadri_rr), ElemR) in genElemLoad() 98 HII = HST->getInstrInfo(); in runOnMachineFunction() 121 auto MIB = BuildMI(BB, At, dl, HII->get(FiOpc), AddrR); in runOnMachineFunction() 151 BuildMI(DefB, At, DefI->getDebugLoc(), HII->get(StoreOpc)) in runOnMachineFunction()
|
| H A D | HexagonTfrCleanup.cpp | 46 HexagonTfrCleanup() : MachineFunctionPass(ID), HII(0), TRI(0) {} in HexagonTfrCleanup() 55 const HexagonInstrInfo *HII; member in __anon0f57d29d0111::HexagonTfrCleanup 201 NewMI = BuildMI(B, MI, DL, HII->get(A2_tfrsi), DstR).addImm(SVal); in rewriteIfImm() 203 NewMI = BuildMI(B, MI, DL, HII->get(A2_tfrpi), DstR).addImm(SVal); in rewriteIfImm() 205 NewMI = BuildMI(B, MI, DL, HII->get(A2_combineii), DstR) in rewriteIfImm() 212 NewMI = BuildMI(B, MI, DL, HII->get(CONST64), DstR).addImm(Val); in rewriteIfImm() 249 auto DefI = BuildMI(B, MI, DL, HII->get(TargetOpcode::IMPLICIT_DEF), DefR); in eraseIfRedundant() 270 HII = HST.getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonMask.cpp | 38 const HexagonInstrInfo *HII; member in __anon758dfeb50111::HexagonMask 65 BuildMI(MBB, MI, MI.getDebugLoc(), HII->get(Hexagon::S2_mask), in replaceConstExtTransferImmWithMask() 76 HII = HST.getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonConstExtenders.cpp | 370 const HexagonInstrInfo *HII = nullptr; member 862 const MCInstrDesc &D = HII->get(ExtOpc); in getRegOffOpcode() 1040 if (!isRegOffOpcode(Opc) || HII->isConstExtended(MI)) in getOffsetRange() 1052 if (HII->isPostIncrement(MI)) in getOffsetRange() 1055 const MCInstrDesc &D = HII->get(Opc); in getOffsetRange() 1059 if (!HII->getBaseAndOffsetPosition(MI, BaseP, OffP) || in getOffsetRange() 1103 const MCInstrDesc &D = HII->get(IdxOpc); in getOffsetRange() 1145 unsigned AM = HII->getAddrMode(MI); in recordExtender() 1221 if (!HII->isConstExtended(MI)) in collectInstr() 1234 recordExtender(MI, HII->getCExtOpNum(MI)); in collectInstr() [all …]
|
| H A D | HexagonLoadStoreWidening.cpp | 92 HII(MF->getSubtarget<HexagonSubtarget>().getInstrInfo()) {} in HexagonLoadStoreWidening() 99 const HexagonInstrInfo *HII = nullptr; member 205 HII->getBaseAndOffsetPosition(*MI, Base, Offset); in getBaseAddressRegister() 216 if (HII->isPostIncrement(*MI)) in getOffset() 221 HII->getBaseAndOffsetPosition(*MI, Base, Offset); in getOffset() 237 HII->getBaseAndOffsetPosition(*MI, Base, PostIncIdx); in getPostIncrementValue() 466 if (HII->isPostIncrement(*FirstMI)) in selectInsts() 484 bool HavePostInc = HII->isPostIncrement(*S1); in selectInsts() 500 if (HavePostInc && HII->isPostIncrement(*S2)) in selectInsts() 560 MachineOperand &SO = HII->isPostIncrement(*MI) in createWideStores() [all …]
|
| H A D | HexagonExpandCondsets.cpp | 159 const HexagonInstrInfo *HII = nullptr; member in __anondf36eb6c0111::HexagonExpandCondsets 330 if (HII->isPredicated(*DefI)) in updateKillFlags() 407 if (HII->isPredicated(*DefI)) in updateDeadsInRange() 477 if (!HII->isPredicated(*DefI)) in updateDeadsInRange() 650 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor() 655 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor() 700 MI.setDesc(HII->get(TargetOpcode::COPY)); in split() 728 if (HII->isPredicated(*MI) || !HII->isPredicable(*MI)) in isPredicable() 764 if (PredValid && HII->isPredicated(*MI)) { in getReachingDefForPred() 766 (Cond != HII->isPredicatedTrue(*MI))) in getReachingDefForPred() [all …]
|
| H A D | HexagonBitSimplify.cpp | 230 uint16_t Begin, const HexagonInstrInfo &HII); 630 BitVector &Bits, uint16_t Begin, const HexagonInstrInfo &HII) { in getUsedBits() argument 633 const MCInstrDesc &D = HII.get(Opc); in getUsedBits() 961 : MF(mf), HII(*MF.getSubtarget<HexagonSubtarget>().getInstrInfo()), in DeadCodeElimination() 973 const HexagonInstrInfo &HII; member in __anonbc27dab50411::DeadCodeElimination 1061 : Transformation(true), HII(hii), HRI(hri), MRI(mri), BT(bt) {} in RedundantInstrElimination() 1075 const HexagonInstrInfo &HII; member in __anonbc27dab50511::RedundantInstrElimination 1260 bool GotBits = HBS::getUsedBits(Opc, OpN, T, Begin, HII); in computeUsedBits() 1354 BuildMI(B, At, DL, HII.get(TargetOpcode::COPY), NewR) in processBlock() 1383 : Transformation(true), HII(hii), MRI(mri), BT(bt) {} in ConstGeneration() [all …]
|
| H A D | HexagonEarlyIfConv.cpp | 206 const HexagonInstrInfo *HII = nullptr; member in __anon363a33cb0111::HexagonEarlyIfConversion 475 if (!HII->isPredicable(*Def1) || !HII->isPredicable(*Def3)) in computePhiCost() 672 return MI->mayStore() && HII->isPredicable(const_cast<MachineInstr&>(*MI)); in isPredicableStore() 697 return HII->getCondOpcode(Opc, !IfTrue); in getCondStoreOpcode() 714 MachineInstrBuilder MIB = BuildMI(*ToB, At, DL, HII->get(COpc)); in predicateInstr() 716 if (HII->isPostIncrement(*MI)) { in predicateInstr() 733 const MCInstrDesc &D = HII->get(IfTrue ? Hexagon::J2_jumpt in predicateInstr() 790 const MCInstrDesc &D = HII->get(Opc); in buildMux() 900 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump)) in convert() 906 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jumpt)) in convert() [all …]
|
| H A D | HexagonLoopAlign.cpp | 60 const HexagonInstrInfo *HII = nullptr; member in __anon427cc72e0111::HexagonLoopAlign 92 if (HII->isEndLoopN(II->getOpcode())) in shouldBalignLoop() 103 isVec |= HII->isHVXVec(*II); in shouldBalignLoop() 172 HII = HST->getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonHazardRecognizer.h | 49 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument 51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
|
| H A D | HexagonFixupHwLoops.cpp | 104 const HexagonInstrInfo *HII = in fixupLoopInstrs() local 118 InstOffset += HII->getSize(MI); in fixupLoopInstrs() 131 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
|
| H A D | HexagonRDFOpt.cpp | 218 auto &HII = static_cast<const HexagonInstrInfo&>(DFG.getTII()); in rewrite() local 219 if (HII.getAddrMode(MI) != HexagonII::PostInc) in rewrite() 271 MI.setDesc(HII.get(NewOpc)); in rewrite() 300 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction() local 308 DataFlowGraph G(MF, HII, HRI, *MDT, MDF); in runOnMachineFunction()
|
| H A D | HexagonGenMux.cpp | 80 const HexagonInstrInfo *HII = nullptr; member in __anoncf1483fd0111::HexagonGenMux 154 const MCInstrDesc &D = HII->get(Opc); in getDefsUses() 238 bool IfTrue = HII->isPredicatedTrue(Opc); in genMuxInBlock() 328 auto NewMux = BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR) in genMuxInBlock() 365 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonSubtarget.cpp | 298 const HexagonInstrInfo &HII, const SUnit &Inst1, in shouldTFRICallBind() argument 304 unsigned Type = HII.getType(*Inst2.getInstr()); in shouldTFRICallBind() 318 auto &HII = *DAG->MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in apply() local 331 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1])) in apply() 383 const auto &HII = static_cast<const HexagonInstrInfo&>(*DAG->TII); in apply() local 392 HII.getAddrMode(L0) != HexagonII::BaseImmOffset) in apply() 396 MachineOperand *BaseOp0 = HII.getBaseAndOffset(L0, Offset0, Size0); in apply() 406 HII.getAddrMode(L1) != HexagonII::BaseImmOffset) in apply() 410 MachineOperand *BaseOp1 = HII.getBaseAndOffset(L1, Offset1, Size1); in apply()
|
| H A D | HexagonISelDAGToDAG.h | 30 const HexagonInstrInfo *HII; variable 38 : SelectionDAGISel(tm, OptLevel), HST(nullptr), HII(nullptr), in HexagonDAGToDAGISel() 44 HII = HST->getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonRegisterInfo.cpp | 215 auto &HII = *HST.getInstrInfo(); in eliminateFrameIndex() local 229 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex() 235 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex() 239 if (!HII.isValidOffset(Opc, RealOffset, this)) { in eliminateFrameIndex() 334 BuildMI(MB, II, DL, HII.get(Hexagon::A2_addi), ReuseBP) in eliminateFrameIndex()
|
| H A D | HexagonConstPropagation.cpp | 1883 const HexagonInstrInfo &HII; member in __anonfe19b4d40611::HexagonConstEvaluator 1916 HII(*Fn.getSubtarget<HexagonSubtarget>().getInstrInfo()), in HexagonConstEvaluator() 2509 MI.setDesc(HII.get(Hexagon::A2_nop)); in replaceWithNop() 2886 &HII.get(Hexagon::PS_false) : in rewriteHexConstDefs() 2887 &HII.get(Hexagon::PS_true); in rewriteHexConstDefs() 2914 NewD = &HII.get(Hexagon::A2_tfrsi); in rewriteHexConstDefs() 2919 NewD = &HII.get(Hexagon::A2_tfrpi); in rewriteHexConstDefs() 2926 NewD = &HII.get(Hexagon::A2_combineii); in rewriteHexConstDefs() 2932 NewD = &HII.get(Hexagon::CONST64); in rewriteHexConstDefs() 3000 NewMI = BuildMI(B, At, DL, HII.get(TargetOpcode::COPY), NewR) in rewriteHexConstUses() [all …]
|
| H A D | HexagonVLIWPacketizer.h | 76 const HexagonInstrInfo *HII;
|
| H A D | HexagonGenInsert.cpp | 559 const HexagonInstrInfo *HII = nullptr; member in __anon7f002ed80511::HexagonGenInsert 1056 bool DefEx = HII->isConstExtended(*DefVR); in pruneCoveredSets() 1394 const MCInstrDesc &D = R32 ? HII->get(Hexagon::S2_insert) in generateInserts() 1395 : HII->get(Hexagon::S2_insertp); in generateInserts() 1492 HII = ST.getInstrInfo(); in runOnMachineFunction() 1505 const HexagonEvaluator HE(*HRI, *MRI, *HII, MF); in runOnMachineFunction()
|
| H A D | HexagonSubtarget.h | 87 bool shouldTFRICallBind(const HexagonInstrInfo &HII,
|