Home
last modified time | relevance | path

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

/llvm-project-15.0.7/llvm/lib/Target/Hexagon/
H A DHexagonVLIWPacketizer.cpp401 MI->setDesc(HII->get(HII->getNonDotCurOp(*MI))); in cleanUpDotCur()
415 if (HII->isDotCurInst(MI) && !HII->mayBeCurLoad(MI)) in canPromoteToDotCur()
742 HII->isDotNewInst(PacketMI) != HII->isDotNewInst(MI) || in canPromoteToNewValueStore()
853 if (HII->isDotNewInst(MI) && !HII->mayBeNewStore(MI)) in canPromoteToDotNew()
1028 getPredicateSense(MI1, HII) != getPredicateSense(MI2, HII) && in arePredicatesComplements()
1029 HII->isDotNewInst(MI1) == HII->isDotNewInst(MI2); in arePredicatesComplements()
1213 if (HII->isPredicated(I) || HII->isPredicated(J)) in hasDeadDependence()
1253 if (HII->isPredicated(MI) && HII->isPredicatedNew(MI) && HII->isJumpR(MI)) in hasControlDependence()
1307 if (HII->isNewValueInst(J) || HII->isMemOp(J) || HII->isMemOp(I)) in hasDualStoreDependence()
1474 if (HII->isPredicated(I) && HII->isPredicated(J) && in isLegalToPacketizeTogether()
[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()
176 return !HII->isJumpWithinBranchRange(*FirstTerm, Distance); in isJumpOutOfRange()
208 if (!HII->isExtendable(MI) && !HII->isExtended(MI)) { in reGenerateBranch()
[all …]
H A DHexagonOptAddrMode.cpp83 const HexagonInstrInfo *HII = nullptr; member in __anon48c4d4cc0111::HexagonOptAddrMode
140 if (HII->getAddrMode(MI) == HexagonII::BaseRegOffset) in INITIALIZE_PASS_DEPENDENCY()
142 return (HII->changeAddrMode_rr_ur(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
145 return (HII->changeAddrMode_io_abs(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
333 if (HII->isHVXVec(*MI)) { in isValidOffset()
353 switch (HII->getMemAccessSize(*MI)) { in isValidOffset()
675 return HII->changeAddrMode_rr_ur(TempOpCode); in getBaseWithLongOffset()
677 return HII->changeAddrMode_rr_ur(MI); in getBaseWithLongOffset()
862 HII = HST.getInstrInfo(); in runOnMachineFunction()
866 const TargetOperandInfo TOI(*HII); in runOnMachineFunction()
[all …]
H A DHexagonFrameLowering.cpp594 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local
625 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock()
767 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local
889 auto &HII = *HST.getInstrInfo(); in insertAllocframe() local
1037 auto &HII = *HST.getInstrInfo(); in insertCFIInstructionsAt() local
1374 auto &HII = *HST.getInstrInfo(); in insertCSRSpillsInBlock() local
1440 auto &HII = *HST.getInstrInfo(); in insertCSRRestoresInBlock() local
2043 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec()
2218 auto &HII = *HST.getInstrInfo(); in optimizeSpillSlots() local
2272 bool Load = HII.isLoadFromStackSlot(In, LFI) && !HII.isPredicated(In); in optimizeSpillSlots()
[all …]
H A DHexagonFrameLowering.h135 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
138 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
141 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
144 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
147 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
150 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
153 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
156 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
159 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
H A DHexagonVExtract.cpp55 const HexagonInstrInfo *HII = nullptr; member in __anon828231ea0111::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 DHexagonConstExtenders.cpp383 const HexagonInstrInfo *HII = nullptr; member
1065 if (HII->isPostIncrement(MI)) in getOffsetRange()
1068 const MCInstrDesc &D = HII->get(Opc); in getOffsetRange()
1158 unsigned AM = HII->getAddrMode(MI); in recordExtender()
1230 if (!HII->isConstExtended(MI)) in collectInstr()
1670 unsigned AM = HII->getAddrMode(MI); in replaceInstrExact()
1698 if (HII->isPredicated(MI)) in replaceInstrExact()
1825 if (HII->isPredicated(MI)) in replaceInstrExpr()
1867 unsigned AM = HII->getAddrMode(MI); in replaceInstr()
1943 assert(HII->isPredicated(MI)); in getPredicateOp()
[all …]
H A DHexagonExpandCondsets.cpp165 const HexagonInstrInfo *HII = nullptr; member in __anon5c30da9c0111::HexagonExpandCondsets
344 if (HII->isPredicated(*DefI)) in updateKillFlags()
422 if (HII->isPredicated(*DefI)) in updateDeadsInRange()
492 if (!HII->isPredicated(*DefI)) in updateDeadsInRange()
647 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor()
652 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor()
696 MI.setDesc(HII->get(TargetOpcode::COPY)); in split()
724 if (HII->isPredicated(*MI) || !HII->isPredicable(*MI)) in isPredicable()
759 if (PredValid && HII->isPredicated(*MI)) { in getReachingDefForPred()
917 if (!HII->isPredicated(*MI)) in renameInRange()
[all …]
H A DHexagonBitSimplify.cpp655 const MCInstrDesc &D = HII.get(Opc); in getUsedBits()
995 const HexagonInstrInfo &HII; member in __anon7ae497e50411::DeadCodeElimination
1097 const HexagonInstrInfo &HII; member in __anon7ae497e50511::RedundantInstrElimination
1415 const HexagonInstrInfo &HII; member in __anon7ae497e50611::ConstGeneration
1544 const HexagonInstrInfo &HII; member in __anon7ae497e50711::CopyGeneration
1819 const HexagonInstrInfo &HII; member in __anon7ae497e50811::BitSimplification
1911 auto *OpRC = HII.getRegClass(HII.get(Opc), OpNum, &HRI, MF); in validateReg()
2136 BuildMI(B, At, DL, HII.get(COpc), NewR) in genCombineHalf()
2800 auto &HII = *HST.getInstrInfo(); in runOnMachineFunction() local
2816 ConstGeneration ImmG(BT, HII, MRI); in runOnMachineFunction()
[all …]
H A DHexagonEarlyIfConv.cpp213 const HexagonInstrInfo *HII = nullptr; member in __anonf4f6f0fb0111::HexagonEarlyIfConversion
482 if (!HII->isPredicable(*Def1) || !HII->isPredicable(*Def3)) in computePhiCost()
706 return HII->getCondOpcode(Opc, !IfTrue); in getCondStoreOpcode()
723 MachineInstrBuilder MIB = BuildMI(*ToB, At, DL, HII->get(COpc)); in predicateInstr()
725 if (HII->isPostIncrement(*MI)) { in predicateInstr()
742 const MCInstrDesc &D = HII->get(IfTrue ? Hexagon::J2_jumpt in predicateInstr()
799 const MCInstrDesc &D = HII->get(Opc); in buildMux()
922 const MCInstrDesc &D = HasBranch ? HII->get(Hexagon::J2_jump) in convert()
923 : HII->get(Hexagon::J2_jumpf); in convert()
1016 HII->removeBranch(*PredB); in mergeBlocks()
[all …]
H A DHexagonRDFOpt.cpp220 auto &HII = static_cast<const HexagonInstrInfo&>(DFG.getTII()); in rewrite() local
221 if (HII.getAddrMode(MI) != HexagonII::PostInc) in rewrite()
273 MI.setDesc(HII.get(NewOpc)); in rewrite()
294 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction() local
302 TargetOperandInfo TOI(HII); in runOnMachineFunction()
303 DataFlowGraph G(MF, HII, HRI, *MDT, MDF, TOI); 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 DHexagonSubtarget.cpp315 const HexagonInstrInfo &HII, const SUnit &Inst1, in shouldTFRICallBind() argument
321 unsigned Type = HII.getType(*Inst2.getInstr()); in shouldTFRICallBind()
335 auto &HII = *DAG->MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in apply() local
348 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1])) in apply()
399 const auto &HII = static_cast<const HexagonInstrInfo&>(*DAG->TII); in apply() local
408 HII.getAddrMode(L0) != HexagonII::BaseImmOffset) in apply()
412 MachineOperand *BaseOp0 = HII.getBaseAndOffset(L0, Offset0, Size0); in apply()
421 HII.getAddrMode(L1) != HexagonII::BaseImmOffset) in apply()
425 MachineOperand *BaseOp1 = HII.getBaseAndOffset(L1, Offset1, Size1); in apply()
H A DHexagonGenMux.cpp88 const HexagonInstrInfo *HII = nullptr; member in __anon176a432d0111::HexagonGenMux
162 const MCInstrDesc &D = HII->get(Opc); in getDefsUses()
248 bool IfTrue = HII->isPredicatedTrue(Opc); in genMuxInBlock()
339 auto NewMux = BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR) in genMuxInBlock()
382 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction()
H A DHexagonISelDAGToDAG.h31 const HexagonInstrInfo *HII; variable
36 : SelectionDAGISel(tm, OptLevel), HST(nullptr), HII(nullptr), in HexagonDAGToDAGISel()
42 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.cpp1887 const HexagonInstrInfo &HII; member in __anona14c30040611::HexagonConstEvaluator
1920 HII(*Fn.getSubtarget<HexagonSubtarget>().getInstrInfo()), in HexagonConstEvaluator()
2511 MI.setDesc(HII.get(Hexagon::A2_nop)); in replaceWithNop()
2884 &HII.get(Hexagon::PS_false) : in rewriteHexConstDefs()
2885 &HII.get(Hexagon::PS_true); in rewriteHexConstDefs()
2912 NewD = &HII.get(Hexagon::A2_tfrsi); in rewriteHexConstDefs()
2917 NewD = &HII.get(Hexagon::A2_tfrpi); in rewriteHexConstDefs()
2924 NewD = &HII.get(Hexagon::A2_combineii); in rewriteHexConstDefs()
2930 NewD = &HII.get(Hexagon::CONST64); in rewriteHexConstDefs()
3021 const MCInstrDesc &D = (V >= 0) ? HII.get(Hexagon::M2_macsip) in rewriteHexConstUses()
[all …]
H A DHexagonVLIWPacketizer.h76 const HexagonInstrInfo *HII;
H A DHexagonGenInsert.cpp567 const HexagonInstrInfo *HII = nullptr; member in __anoncc0be0080511::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.cpp766 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in emitInstruction() local
767 if (MI->isBundle() && HII.getBundleNoShuf(*MI)) in emitInstruction()
H A DHexagonISelDAGToDAG.cpp78 bool IsValidInc = HII->isValidAutoIncImm(LoadedVT, Inc); in SelectIndexedLoad()
221 uint64_t F = HII->get(LoadN->getMachineOpcode()).TSFlags; in StoreInstrForLoadIntrinsic()
473 bool IsValidInc = HII->isValidAutoIncImm(StoredVT, Inc); in SelectIndexedStore()
1290 BuildMI(EntryBB, DebugLoc(), HII->get(Hexagon::PS_aligna), AR) in emitFunctionEntryCode()