Home
last modified time | relevance | path

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

123

/external/llvm/lib/Target/Hexagon/
DHexagonVLIWPacketizer.cpp88 const HexagonInstrInfo *HII; member in __anon15f0d18a0111::HexagonPacketizer
109 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in INITIALIZE_PASS_DEPENDENCY()
177 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction()
184 HII->genAllInsnTimingClasses(MF); in runOnMachineFunction()
222 while (RB != End && HII->isSchedulingBoundary(*RB, &MB, MF)) in runOnMachineFunction()
227 while (RE != End && !HII->isSchedulingBoundary(*RE, &MB, MF)) in runOnMachineFunction()
259 auto *ExtMI = MF.CreateMachineInstr(HII->get(Hexagon::A4_ext), DebugLoc()); in tryAllocateResourcesForConstExt()
274 if (HII->isDeallocRet(MI)) in isCallDependent()
284 if (HII->isIndirectCall(MI) && (DepType == SDep::Data)) { in isCallDependent()
329 return HII->isCondInst(MI) || MI->isReturn() || HII->mayBeNewStore(MI); in isNewifiable()
[all …]
DHexagonBranchRelaxation.cpp57 const HexagonInstrInfo *HII; member
84 HII = HST.getInstrInfo(); in runOnMachineFunction()
107 InstOffset += HII->getSize(&MI); in computeOffset()
145 InstOffset += HII->nonDbgBBSize(&B) * HEXAGON_INSTR_SIZE; in isJumpOutOfRange()
151 if (HII->analyzeBranch(B, TBB, FBB, Cond, false)) { in isJumpOutOfRange()
155 if (HII->isNewValueJump(&*FirstTerm)) in isJumpOutOfRange()
156 TBB = FirstTerm->getOperand(HII->getCExtOpNum(&*FirstTerm)).getMBB(); in isJumpOutOfRange()
161 return !HII->isJumpWithinBranchRange(&*FirstTerm, Distance); in isJumpOutOfRange()
174 return !HII->isJumpWithinBranchRange(&*SecondTerm, Distance); in isJumpOutOfRange()
189 << HII->isExtendable(&MI) << ") isConstExtended(" in reGenerateBranch()
[all …]
DHexagonOptAddrMode.cpp51 : MachineFunctionPass(ID), HII(0), MDT(0), DFG(0), LV(0) { in HexagonOptAddrMode()
69 const HexagonInstrInfo *HII; member in __anonb109a6e90111::HexagonOptAddrMode
110 if ((!MID.mayStore() && !MID.mayLoad()) || HII->isPredicated(*MI)) in INITIALIZE_PASS_DEPENDENCY()
119 if (HII->getAddrMode(MI) == HexagonII::BaseRegOffset) in INITIALIZE_PASS_DEPENDENCY()
121 return (HII->getBaseWithLongOffset(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
122 else if (HII->getAddrMode(MI) == HexagonII::BaseImmOffset) in INITIALIZE_PASS_DEPENDENCY()
124 return (HII->getAbsoluteForm(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
174 HII->getAddrMode(UseMI) != HexagonII::BaseImmOffset || in canRemoveAddasl()
316 if (HII->getAddrMode(OldMI) == HexagonII::BaseRegOffset) { in changeLoad()
317 short NewOpCode = HII->getBaseWithLongOffset(OldMI); in changeLoad()
[all …]
DHexagonFrameLowering.cpp499 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local
528 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock()
547 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertPrologueInBlock()
554 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::CONST32_Int_Real), in insertPrologueInBlock()
556 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_sub), SP) in insertPrologueInBlock()
560 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertPrologueInBlock()
566 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock()
575 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::CALLstk)) in insertPrologueInBlock()
585 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local
601 BuildMI(MBB, InsertPt, DL, HII.get(Hexagon::L2_deallocframe)); in insertEpilogueInBlock()
[all …]
DHexagonFrameLowering.h102 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
105 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
108 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
111 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
114 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
117 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
120 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
123 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
126 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
DHexagonExpandCondsets.cpp181 MachineFunctionPass(ID), HII(0), TRI(0), MRI(0), in HexagonExpandCondsets()
205 const HexagonInstrInfo *HII; member in __anon812c53990111::HexagonExpandCondsets
372 if (HII->isPredicated(*DefI)) in updateKillFlags()
460 if (HII->isPredicated(*DefI)) in updateDeadsInRange()
512 if (!HII->isPredicated(*DefI)) in updateDeadsInRange()
627 MachineInstrBuilder MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor()
677 auto ImpD = BuildMI(B, DefAt, DL, HII->get(TargetOpcode::IMPLICIT_DEF)) in split()
719 if (HII->isPredicated(*MI) || !HII->isPredicable(*MI)) in isPredicable()
755 if (PredValid && HII->isPredicated(*MI)) { in getReachingDefForPred()
756 if (MI->readsRegister(PredR) && (Cond != HII->isPredicatedTrue(*MI))) in getReachingDefForPred()
[all …]
DHexagonBitSimplify.cpp179 uint16_t Begin, const HexagonInstrInfo &HII);
575 BitVector &Bits, uint16_t Begin, const HexagonInstrInfo &HII) { in getUsedBits() argument
578 const MCInstrDesc &D = HII.get(Opc); in getUsedBits()
901 : MF(mf), HII(*MF.getSubtarget<HexagonSubtarget>().getInstrInfo()), in DeadCodeElimination()
913 const HexagonInstrInfo &HII; member in __anone3296a020411::DeadCodeElimination
1003 : Transformation(true), HII(hii), MRI(mri), BT(bt) {} in RedundantInstrElimination()
1015 const HexagonInstrInfo &HII; member in __anone3296a020511::RedundantInstrElimination
1200 bool GotBits = HBS::getUsedBits(Opc, OpN, T, Begin, HII); in computeUsedBits()
1295 BuildMI(B, At, DL, HII.get(TargetOpcode::COPY), NewR) in processBlock()
1318 : Transformation(true), HII(hii), MRI(mri), BT(bt) {} in ConstGeneration()
[all …]
DHexagonRegisterInfo.cpp169 auto &HII = *HST.getInstrInfo(); in eliminateFrameIndex() local
184 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex()
190 MI.setDesc(HII.get(Hexagon::A2_addi)); in eliminateFrameIndex()
194 if (!HII.isValidOffset(Opc, RealOffset)) { in eliminateFrameIndex()
200 BuildMI(MB, II, DL, HII.get(Hexagon::A2_addi), TmpR) in eliminateFrameIndex()
DHexagonRDFOpt.cpp206 auto &HII = static_cast<const HexagonInstrInfo&>(DFG.getTII()); in rewrite() local
207 if (HII.getAddrMode(MI) != HexagonII::PostInc) in rewrite()
259 MI->setDesc(HII.get(NewOpc)); in rewrite()
281 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction() local
290 TargetOperandInfo TOI(HII); in runOnMachineFunction()
291 DataFlowGraph G(MF, HII, HRI, *MDT, MDF, HAI, TOI); in runOnMachineFunction()
DHexagonGenMux.cpp42 HexagonGenMux() : MachineFunctionPass(ID), HII(0), HRI(0) { in HexagonGenMux()
58 const HexagonInstrInfo *HII; member in __anon4bcf0f2a0111::HexagonGenMux
126 const MCInstrDesc &D = HII->get(Opc); in getDefsUses()
216 bool IfTrue = HII->isPredicatedTrue(Opc); in genMuxInBlock()
299 BuildMI(B, MX.At, DL, HII->get(MxOpc), MX.DefR) in genMuxInBlock()
314 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in runOnMachineFunction()
DHexagonFixupHwLoops.cpp113 const HexagonInstrInfo *HII = in fixupLoopInstrs() local
128 InstOffset += HII->getSize(&MI); in fixupLoopInstrs()
141 InstOffset += HII->getSize(&*MII); in fixupLoopInstrs()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Hexagon/
DHexagonVLIWPacketizer.cpp113 const HexagonInstrInfo *HII; member in __anonb13e59220111::HexagonPacketizer
134 HII = MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in INITIALIZE_PASS_DEPENDENCY()
206 HII = HST.getInstrInfo(); in runOnMachineFunction()
213 HII->genAllInsnTimingClasses(MF); in runOnMachineFunction()
249 while (RB != End && HII->isSchedulingBoundary(*RB, &MB, MF)) in runOnMachineFunction()
254 while (RE != End && !HII->isSchedulingBoundary(*RE, &MB, MF)) in runOnMachineFunction()
285 auto *ExtMI = MF.CreateMachineInstr(HII->get(Hexagon::A4_ext), DebugLoc()); in tryAllocateResourcesForConstExt()
299 if (HII->isDeallocRet(MI)) in isCallDependent()
355 if (HII->isHVXVec(MI) && MI.mayStore()) in isNewifiable()
357 return HII->isPredicated(MI) && HII->getDotNewPredOp(MI, nullptr) > 0; in isNewifiable()
[all …]
DHexagonBranchRelaxation.cpp69 const HexagonInstrInfo *HII; member
96 HII = HST.getInstrInfo(); in runOnMachineFunction()
118 InstOffset += HII->getSize(MI); in computeOffset()
120 if (MI.isBranch() && HII->isExtendable(MI)) in computeOffset()
152 if (HII->isExtended(MI)) in isJumpOutOfRange()
161 InstOffset += HII->nonDbgBBSize(&B) * HEXAGON_INSTR_SIZE; in isJumpOutOfRange()
167 if (HII->analyzeBranch(B, TBB, FBB, Cond, false)) { in isJumpOutOfRange()
171 if (HII->isNewValueJump(*FirstTerm)) in isJumpOutOfRange()
172 TBB = FirstTerm->getOperand(HII->getCExtOpNum(*FirstTerm)).getMBB(); in isJumpOutOfRange()
177 return !HII->isJumpWithinBranchRange(*FirstTerm, Distance); in isJumpOutOfRange()
[all …]
DHexagonOptAddrMode.cpp83 const HexagonInstrInfo *HII = nullptr; member in __anondc8295810111::HexagonOptAddrMode
129 if ((!MID.mayStore() && !MID.mayLoad()) || HII->isPredicated(MI)) in INITIALIZE_PASS_DEPENDENCY()
138 if (HII->getAddrMode(MI) == HexagonII::BaseRegOffset) in INITIALIZE_PASS_DEPENDENCY()
140 return (HII->changeAddrMode_rr_ur(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
141 else if (HII->getAddrMode(MI) == HexagonII::BaseImmOffset) in INITIALIZE_PASS_DEPENDENCY()
143 return (HII->changeAddrMode_io_abs(MI) >= 0); in INITIALIZE_PASS_DEPENDENCY()
196 HII->getAddrMode(UseMI) != HexagonII::BaseImmOffset || in canRemoveAddasl()
326 switch (HII->getMemAccessSize(*MI)) { in isValidOffset()
345 return HII->isValidOffset(MI->getOpcode(), Offset, HRI, false); in isValidOffset()
359 HII->getAddrMode(*MI) != HexagonII::BaseImmOffset || in processAddUses()
[all …]
DHexagonFrameLowering.cpp558 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local
589 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock()
598 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock()
606 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::PS_call_stk)) in insertPrologueInBlock()
610 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock()
619 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local
629 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertEpilogueInBlock()
641 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
644 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_add), SP) in insertEpilogueInBlock()
689 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
[all …]
DHexagonFrameLowering.h128 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
131 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
134 MachineRegisterInfo &MRI, const HexagonInstrInfo &HII,
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,
DHexagonVExtract.cpp55 const HexagonInstrInfo *HII = nullptr; member in __anonad4fa6bf0111::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()
134 BuildMI(DefB, At, DefI->getDebugLoc(), HII->get(StoreOpc)) in runOnMachineFunction()
149 BuildMI(ExtB, ExtI, DL, HII->get(Hexagon::PS_fi), BaseR) in runOnMachineFunction()
DHexagonExpandCondsets.cpp165 const HexagonInstrInfo *HII = nullptr; member in __anon1c79db310111::HexagonExpandCondsets
343 if (HII->isPredicated(*DefI)) in updateKillFlags()
421 if (HII->isPredicated(*DefI)) in updateDeadsInRange()
491 if (!HII->isPredicated(*DefI)) in updateDeadsInRange()
646 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor()
651 MIB = BuildMI(B, At, DL, HII->get(Opc)) in genCondTfrFor()
695 MI.setDesc(HII->get(TargetOpcode::COPY)); in split()
723 if (HII->isPredicated(*MI) || !HII->isPredicable(*MI)) in isPredicable()
758 if (PredValid && HII->isPredicated(*MI)) { in getReachingDefForPred()
759 if (MI->readsRegister(PredR) && (Cond != HII->isPredicatedTrue(*MI))) in getReachingDefForPred()
[all …]
DHexagonBitSimplify.cpp224 uint16_t Begin, const HexagonInstrInfo &HII);
625 BitVector &Bits, uint16_t Begin, const HexagonInstrInfo &HII) { in getUsedBits() argument
628 const MCInstrDesc &D = HII.get(Opc); in getUsedBits()
957 : MF(mf), HII(*MF.getSubtarget<HexagonSubtarget>().getInstrInfo()), in DeadCodeElimination()
969 const HexagonInstrInfo &HII; member in __anon0ea2589a0411::DeadCodeElimination
1057 : Transformation(true), HII(hii), HRI(hri), MRI(mri), BT(bt) {} in RedundantInstrElimination()
1071 const HexagonInstrInfo &HII; member in __anon0ea2589a0511::RedundantInstrElimination
1256 bool GotBits = HBS::getUsedBits(Opc, OpN, T, Begin, HII); in computeUsedBits()
1351 BuildMI(B, At, DL, HII.get(TargetOpcode::COPY), NewR) in processBlock()
1380 : Transformation(true), HII(hii), MRI(mri), BT(bt) {} in ConstGeneration()
[all …]
DHexagonConstExtenders.cpp381 const HexagonInstrInfo *HII = nullptr; member
880 const MCInstrDesc &D = HII->get(ExtOpc); in getRegOffOpcode()
1058 if (!isRegOffOpcode(Opc) || HII->isConstExtended(MI)) in getOffsetRange()
1070 if (HII->isPostIncrement(MI)) in getOffsetRange()
1073 const MCInstrDesc &D = HII->get(Opc); in getOffsetRange()
1077 if (!HII->getBaseAndOffsetPosition(MI, BaseP, OffP) || in getOffsetRange()
1121 const MCInstrDesc &D = HII->get(IdxOpc); in getOffsetRange()
1163 unsigned AM = HII->getAddrMode(MI); in recordExtender()
1229 if (!HII->isConstExtended(MI)) in collectInstr()
1242 recordExtender(MI, HII->getCExtOpNum(MI)); in collectInstr()
[all …]
DHexagonEarlyIfConv.cpp214 const HexagonInstrInfo *HII = nullptr; member in __anon88b4b1b00111::HexagonEarlyIfConversion
482 if (!HII->isPredicable(*Def1) || !HII->isPredicable(*Def3)) in computePhiCost()
681 return MI->mayStore() && HII->isPredicable(const_cast<MachineInstr&>(*MI)); in isPredicableStore()
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()
744 const MCInstrDesc &D = HII->get(IfTrue ? Hexagon::J2_jumpt in predicateInstr()
801 const MCInstrDesc &D = HII->get(Opc); in buildMux()
911 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jump)) in convert()
917 BuildMI(*FP.SplitB, FP.SplitB->end(), DL, HII->get(Hexagon::J2_jumpt)) in convert()
[all …]
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()
DHexagonSubtarget.cpp182 const HexagonInstrInfo &HII, const SUnit &Inst1, in shouldTFRICallBind() argument
188 unsigned Type = HII.getType(*Inst2.getInstr()); in shouldTFRICallBind()
202 auto &HII = *DAG->MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in apply() local
215 shouldTFRICallBind(HII, DAG->SUnits[su], DAG->SUnits[su+1])) in apply()
268 const auto &HII = static_cast<const HexagonInstrInfo&>(*DAG->TII); in apply() local
277 HII.getAddrMode(L0) != HexagonII::BaseImmOffset) in apply()
281 unsigned Base0 = HII.getBaseAndOffset(L0, Offset0, Size0); in apply()
290 HII.getAddrMode(L1) != HexagonII::BaseImmOffset) in apply()
294 unsigned Base1 = HII.getBaseAndOffset(L1, Offset1, Size1); in apply()
DHexagonHazardRecognizer.h46 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument
48 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
DHexagonFixupHwLoops.cpp113 const HexagonInstrInfo *HII = in fixupLoopInstrs() local
128 InstOffset += HII->getSize(MI); in fixupLoopInstrs()
141 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()

123