Home
last modified time | relevance | path

Searched refs:HII (Results 1 – 25 of 26) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVLIWPacketizer.cpp116 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 DHexagonBranchRelaxation.cpp69 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 DHexagonOptAddrMode.cpp85 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 DHexagonFrameLowering.cpp596 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 DHexagonFrameLowering.h137 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 DHexagonVExtract.cpp55 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 DHexagonTfrCleanup.cpp55 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 DHexagonConstExtenders.cpp383 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 DHexagonExpandCondsets.cpp166 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 DHexagonBitSimplify.cpp252 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 DHexagonEarlyIfConv.cpp213 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 DHexagonLoopAlign.cpp65 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 DHexagonHazardRecognizer.h49 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument
51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
H A DHexagonFixupHwLoops.cpp112 const HexagonInstrInfo *HII = in fixupLoopInstrs() local
126 InstOffset += HII->getSize(MI); in fixupLoopInstrs()
139 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
H A DHexagonGenMux.cpp88 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 DHexagonRDFOpt.cpp225 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 DHexagonSubtarget.cpp299 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 DHexagonISelDAGToDAG.h30 const HexagonInstrInfo *HII; variable
38 : SelectionDAGISel(tm, OptLevel), HST(nullptr), HII(nullptr), in HexagonDAGToDAGISel()
44 HII = HST->getInstrInfo(); in runOnMachineFunction()
H A DHexagonRegisterInfo.cpp220 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 DHexagonConstPropagation.cpp1886 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 DHexagonVLIWPacketizer.h76 const HexagonInstrInfo *HII;
H A DHexagonGenInsert.cpp567 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 DHexagonSubtarget.h87 bool shouldTFRICallBind(const HexagonInstrInfo &HII,
H A DHexagonAsmPrinter.cpp767 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in emitInstruction() local
768 if (MI->isBundle() && HII.getBundleNoShuf(*MI)) in emitInstruction()
H A DHexagonISelDAGToDAG.cpp88 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()

12