Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVLIWPacketizer.cpp108 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 DHexagonBranchRelaxation.cpp60 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 DHexagonOptAddrMode.cpp81 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 DHexagonFrameLowering.cpp585 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 DHexagonFrameLowering.h139 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 DHexagonVExtract.cpp50 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 DHexagonTfrCleanup.cpp46 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 DHexagonMask.cpp38 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 DHexagonConstExtenders.cpp370 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 DHexagonLoadStoreWidening.cpp92 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 DHexagonExpandCondsets.cpp159 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 DHexagonBitSimplify.cpp230 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 DHexagonEarlyIfConv.cpp206 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 DHexagonLoopAlign.cpp60 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 DHexagonHazardRecognizer.h49 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument
51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
H A DHexagonFixupHwLoops.cpp104 const HexagonInstrInfo *HII = in fixupLoopInstrs() local
118 InstOffset += HII->getSize(MI); in fixupLoopInstrs()
131 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
H A DHexagonRDFOpt.cpp218 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 DHexagonGenMux.cpp80 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 DHexagonSubtarget.cpp298 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 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.cpp215 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 DHexagonConstPropagation.cpp1883 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 DHexagonVLIWPacketizer.h76 const HexagonInstrInfo *HII;
H A DHexagonGenInsert.cpp559 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 DHexagonSubtarget.h87 bool shouldTFRICallBind(const HexagonInstrInfo &HII,

12