/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonVLIWPacketizer.cpp | 116 const HexagonInstrInfo *HII = nullptr; member in __anon73fb695d0111::HexagonPacketizer 139 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in INITIALIZE_PASS_DEPENDENCY() 212 HII = HST.getInstrInfo(); in runOnMachineFunction() 220 HII->genAllInsnTimingClasses(MF); in runOnMachineFunction() 246 HII->translateInstrsForDup(MF, true); in runOnMachineFunction() 255 while (RB != End && HII->isSchedulingBoundary(*RB, &MB, MF)) in runOnMachineFunction() 260 while (RE != End && !HII->isSchedulingBoundary(*RE, &MB, MF)) in runOnMachineFunction() 275 HII->translateInstrsForDup(MF, false); in runOnMachineFunction() 295 auto *ExtMI = MF.CreateMachineInstr(HII->get(Hexagon::A4_ext), DebugLoc()); in tryAllocateResourcesForConstExt() 309 if (HII->isDeallocRet(MI)) in isCallDependent() [all …]
|
H A D | HexagonBranchRelaxation.cpp | 69 const HexagonInstrInfo *HII; member 96 HII = HST.getInstrInfo(); in runOnMachineFunction() 117 InstOffset += HII->getSize(MI); in computeOffset() 119 if (MI.isBranch() && HII->isExtendable(MI)) in computeOffset() 151 if (HII->isExtended(MI)) in isJumpOutOfRange() 160 InstOffset += HII->nonDbgBBSize(&B) * HEXAGON_INSTR_SIZE; in isJumpOutOfRange() 166 if (HII->analyzeBranch(B, TBB, FBB, Cond, false)) { in isJumpOutOfRange() 170 if (HII->isNewValueJump(*FirstTerm)) in isJumpOutOfRange() 171 TBB = FirstTerm->getOperand(HII->getCExtOpNum(*FirstTerm)).getMBB(); in isJumpOutOfRange() 176 return !HII->isJumpWithinBranchRange(*FirstTerm, Distance); in isJumpOutOfRange() [all …]
|
H A D | HexagonOptAddrMode.cpp | 85 const HexagonInstrInfo *HII = nullptr; member in __anon8a08179c0111::HexagonOptAddrMode 133 if ((!MID.mayStore() && !MID.mayLoad()) || HII->isPredicated(MI)) in INITIALIZE_PASS_DEPENDENCY() 142 if (HII->getAddrMode(MI) == HexagonII::BaseRegOffset) in INITIALIZE_PASS_DEPENDENCY() 144 return (HII->changeAddrMode_rr_ur(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY() 145 else if (HII->getAddrMode(MI) == HexagonII::BaseImmOffset) in INITIALIZE_PASS_DEPENDENCY() 147 return (HII->changeAddrMode_io_abs(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY() 200 HII->getAddrMode(UseMI) != HexagonII::BaseImmOffset || in canRemoveAddasl() 335 if (HII->isHVXVec(*MI)) { in isValidOffset() 345 return HII->isValidOffset(MI->getOpcode(), Offset, HRI, false); in isValidOffset() 351 if (HII->getAddrMode(*MI) != HexagonII::BaseImmOffset) in isValidOffset() [all …]
|
H A D | HexagonFrameLowering.cpp | 596 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local 627 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock() 643 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock() 709 BuildMI(MBB, InsertPt, dl, HII.get(LDOpc), RegUsed) in insertPrologueInBlock() 716 BuildMI(MBB, InsertPt, dl, HII.get(STOpc)) in insertPrologueInBlock() 736 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_storeri_io)) in insertPrologueInBlock() 748 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock() 756 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::PS_call_stk)) in insertPrologueInBlock() 760 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock() 769 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local [all …]
|
H A D | HexagonFrameLowering.h | 137 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 140 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 143 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 146 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 149 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 152 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 155 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 158 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII, 161 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
|
H A D | HexagonVExtract.cpp | 55 const HexagonInstrInfo *HII = nullptr; member in __anoncdbfe6ba0111::HexagonVExtract 83 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::L2_loadri_io), ElemR) in genElemLoad() 91 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::A2_andir), IdxR) in genElemLoad() 94 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::L4_loadri_rr), ElemR) in genElemLoad() 103 HII = HST->getInstrInfo(); in runOnMachineFunction() 126 auto MIB = BuildMI(BB, At, dl, HII->get(FiOpc), AddrR); in runOnMachineFunction() 156 BuildMI(DefB, At, DefI->getDebugLoc(), HII->get(StoreOpc)) in runOnMachineFunction()
|
H A D | HexagonTfrCleanup.cpp | 55 HexagonTfrCleanup() : MachineFunctionPass(ID), HII(0), TRI(0) { in HexagonTfrCleanup() 67 const HexagonInstrInfo *HII; member in __anon0f57d29d0111::HexagonTfrCleanup 220 NewMI = BuildMI(B, MI, DL, HII->get(A2_tfrsi), DstR).addImm(SVal); in rewriteIfImm() 222 NewMI = BuildMI(B, MI, DL, HII->get(A2_tfrpi), DstR).addImm(SVal); in rewriteIfImm() 224 NewMI = BuildMI(B, MI, DL, HII->get(A2_combineii), DstR) in rewriteIfImm() 231 NewMI = BuildMI(B, MI, DL, HII->get(CONST64), DstR).addImm(Val); in rewriteIfImm() 268 auto DefI = BuildMI(B, MI, DL, HII->get(TargetOpcode::IMPLICIT_DEF), DefR); in eraseIfRedundant() 289 HII = HST.getInstrInfo(); in runOnMachineFunction()
|
H A D | HexagonConstExtenders.cpp | 383 const HexagonInstrInfo *HII = nullptr; member 875 const MCInstrDesc &D = HII->get(ExtOpc); in getRegOffOpcode() 1053 if (!isRegOffOpcode(Opc) || HII->isConstExtended(MI)) in getOffsetRange() 1065 if (HII->isPostIncrement(MI)) in getOffsetRange() 1068 const MCInstrDesc &D = HII->get(Opc); in getOffsetRange() 1072 if (!HII->getBaseAndOffsetPosition(MI, BaseP, OffP) || in getOffsetRange() 1116 const MCInstrDesc &D = HII->get(IdxOpc); in getOffsetRange() 1158 unsigned AM = HII->getAddrMode(MI); in recordExtender() 1234 if (!HII->isConstExtended(MI)) in collectInstr() 1247 recordExtender(MI, HII->getCExtOpNum(MI)); in collectInstr() [all …]
|
H A D | HexagonExpandCondsets.cpp | 166 const HexagonInstrInfo *HII = nullptr; member in __anondf36eb6c0111::HexagonExpandCondsets 346 if (HII->isPredicated(*DefI)) in updateKillFlags() 424 if (HII->isPredicated(*DefI)) in updateDeadsInRange() 494 if (!HII->isPredicated(*DefI)) in updateDeadsInRange() 667 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor() 672 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor() 717 MI.setDesc(HII->get(TargetOpcode::COPY)); in split() 745 if (HII->isPredicated(*MI) || !HII->isPredicable(*MI)) in isPredicable() 781 if (PredValid && HII->isPredicated(*MI)) { in getReachingDefForPred() 783 (Cond != HII->isPredicatedTrue(*MI))) in getReachingDefForPred() [all …]
|
H A D | HexagonBitSimplify.cpp | 252 uint16_t Begin, const HexagonInstrInfo &HII); 652 BitVector &Bits, uint16_t Begin, const HexagonInstrInfo &HII) { in getUsedBits() argument 655 const MCInstrDesc &D = HII.get(Opc); in getUsedBits() 983 : MF(mf), HII(*MF.getSubtarget<HexagonSubtarget>().getInstrInfo()), in DeadCodeElimination() 995 const HexagonInstrInfo &HII; member in __anonbc27dab50411::DeadCodeElimination 1083 : Transformation(true), HII(hii), HRI(hri), MRI(mri), BT(bt) {} in RedundantInstrElimination() 1097 const HexagonInstrInfo &HII; member in __anonbc27dab50511::RedundantInstrElimination 1282 bool GotBits = HBS::getUsedBits(Opc, OpN, T, Begin, HII); in computeUsedBits() 1376 BuildMI(B, At, DL, HII.get(TargetOpcode::COPY), NewR) in processBlock() 1405 : Transformation(true), HII(hii), MRI(mri), BT(bt) {} in ConstGeneration() [all …]
|
H A D | HexagonEarlyIfConv.cpp | 213 const HexagonInstrInfo *HII = nullptr; member in __anon363a33cb0111::HexagonEarlyIfConversion 482 if (!HII->isPredicable(*Def1) || !HII->isPredicable(*Def3)) in computePhiCost() 679 return MI->mayStore() && HII->isPredicable(const_cast<MachineInstr&>(*MI)); in isPredicableStore() 704 return HII->getCondOpcode(Opc, !IfTrue); in getCondStoreOpcode() 721 MachineInstrBuilder MIB = BuildMI(*ToB, At, DL, HII->get(COpc)); in predicateInstr() 723 if (HII->isPostIncrement(*MI)) { in predicateInstr() 740 const MCInstrDesc &D = HII->get(IfTrue ? Hexagon::J2_jumpt in predicateInstr() 797 const MCInstrDesc &D = HII->get(Opc); in buildMux() 907 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump)) in convert() 913 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jumpt)) in convert() [all …]
|
H A D | HexagonLoopAlign.cpp | 65 const HexagonInstrInfo *HII = nullptr; member in __anon427cc72e0111::HexagonLoopAlign 99 if (HII->isEndLoopN(II->getOpcode())) in shouldBalignLoop() 110 isVec |= HII->isHVXVec(*II); in shouldBalignLoop() 179 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 | 112 const HexagonInstrInfo *HII = in fixupLoopInstrs() local 126 InstOffset += HII->getSize(MI); in fixupLoopInstrs() 139 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
|
H A D | HexagonGenMux.cpp | 88 const HexagonInstrInfo *HII = nullptr; member in __anoncf1483fd0111::HexagonGenMux 162 const MCInstrDesc &D = HII->get(Opc); in getDefsUses() 246 bool IfTrue = HII->isPredicatedTrue(Opc); in genMuxInBlock() 337 auto NewMux = BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR) in genMuxInBlock() 374 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction()
|
H A D | HexagonRDFOpt.cpp | 225 auto &HII = static_cast<const HexagonInstrInfo&>(DFG.getTII()); in rewrite() local 226 if (HII.getAddrMode(MI) != HexagonII::PostInc) in rewrite() 278 MI.setDesc(HII.get(NewOpc)); in rewrite() 307 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction() local 315 DataFlowGraph G(MF, HII, HRI, *MDT, MDF); in runOnMachineFunction()
|
H A D | HexagonSubtarget.cpp | 299 const HexagonInstrInfo &HII, const SUnit &Inst1, in shouldTFRICallBind() argument 305 unsigned Type = HII.getType(*Inst2.getInstr()); in shouldTFRICallBind() 319 auto &HII = *DAG->MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in apply() local 332 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1])) in apply() 382 const auto &HII = static_cast<const HexagonInstrInfo&>(*DAG->TII); in apply() local 391 HII.getAddrMode(L0) != HexagonII::BaseImmOffset) in apply() 395 MachineOperand *BaseOp0 = HII.getBaseAndOffset(L0, Offset0, Size0); in apply() 405 HII.getAddrMode(L1) != HexagonII::BaseImmOffset) in apply() 409 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 | 220 auto &HII = *HST.getInstrInfo(); in eliminateFrameIndex() local 234 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex() 240 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex() 244 if (!HII.isValidOffset(Opc, RealOffset, this)) { in eliminateFrameIndex() 339 BuildMI(MB, II, DL, HII.get(Hexagon::A2_addi), ReuseBP) in eliminateFrameIndex()
|
H A D | HexagonConstPropagation.cpp | 1886 const HexagonInstrInfo &HII; member in __anonfe19b4d40611::HexagonConstEvaluator 1919 HII(*Fn.getSubtarget<HexagonSubtarget>().getInstrInfo()), in HexagonConstEvaluator() 2510 MI.setDesc(HII.get(Hexagon::A2_nop)); in replaceWithNop() 2882 &HII.get(Hexagon::PS_false) : in rewriteHexConstDefs() 2883 &HII.get(Hexagon::PS_true); in rewriteHexConstDefs() 2910 NewD = &HII.get(Hexagon::A2_tfrsi); in rewriteHexConstDefs() 2915 NewD = &HII.get(Hexagon::A2_tfrpi); in rewriteHexConstDefs() 2922 NewD = &HII.get(Hexagon::A2_combineii); in rewriteHexConstDefs() 2928 NewD = &HII.get(Hexagon::CONST64); in rewriteHexConstDefs() 2996 NewMI = BuildMI(B, At, DL, HII in rewriteHexConstUses() [all...] |
H A D | HexagonVLIWPacketizer.h | 76 const HexagonInstrInfo *HII;
|
H A D | HexagonGenInsert.cpp | 567 const HexagonInstrInfo *HII = nullptr; member in __anon7f002ed80511::HexagonGenInsert 1060 bool DefEx = HII->isConstExtended(*DefVR); in pruneCoveredSets() 1398 const MCInstrDesc &D = R32 ? HII->get(Hexagon::S2_insert) in generateInserts() 1399 : HII->get(Hexagon::S2_insertp); in generateInserts() 1496 HII = ST.getInstrInfo(); in runOnMachineFunction() 1509 const HexagonEvaluator HE(*HRI, *MRI, *HII, MF); in runOnMachineFunction()
|
H A D | HexagonSubtarget.h | 87 bool shouldTFRICallBind(const HexagonInstrInfo &HII,
|
H A D | HexagonAsmPrinter.cpp | 767 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in emitInstruction() local 768 if (MI->isBundle() && HII.getBundleNoShuf(*MI)) in emitInstruction()
|
H A D | HexagonISelDAGToDAG.cpp | 88 bool IsValidInc = HII->isValidAutoIncImm(LoadedVT, Inc); in INITIALIZE_PASS() 231 uint64_t F = HII->get(LoadN->getMachineOpcode()).TSFlags; in StoreInstrForLoadIntrinsic() 483 bool IsValidInc = HII->isValidAutoIncImm(StoredVT, Inc); in SelectIndexedStore() 1437 BuildMI(EntryBB, DebugLoc(), HII->get(Hexagon::PS_aligna), AP) in emitFunctionEntryCode()
|