Lines Matching refs:HII

594   auto &HII = *HST.getInstrInfo();  in insertPrologueInBlock()  local
625 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock()
641 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock()
707 BuildMI(MBB, InsertPt, dl, HII.get(LDOpc), RegUsed) in insertPrologueInBlock()
714 BuildMI(MBB, InsertPt, dl, HII.get(STOpc)) in insertPrologueInBlock()
734 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_storeri_io)) in insertPrologueInBlock()
746 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock()
754 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::PS_call_stk)) in insertPrologueInBlock()
758 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock()
767 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local
786 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertEpilogueInBlock()
798 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
801 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_add), SP) in insertEpilogueInBlock()
848 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
854 MachineInstr *NewI = BuildMI(MBB, RetI, dl, HII.get(NewOpc)) in insertEpilogueInBlock()
875 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
879 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertEpilogueInBlock()
889 auto &HII = *HST.getInstrInfo(); in insertAllocframe() local
906 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertAllocframe()
914 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertAllocframe()
918 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertAllocframe()
1037 auto &HII = *HST.getInstrInfo(); in insertCFIInstructionsAt() local
1044 const MCInstrDesc &CFID = HII.get(TargetOpcode::CFI_INSTRUCTION); in insertCFIInstructionsAt()
1374 auto &HII = *HST.getInstrInfo(); in insertCSRSpillsInBlock() local
1406 BuildMI(MBB, MI, DL, HII.get(SpillOpc)) in insertCSRSpillsInBlock()
1425 HII.storeRegToStackSlot(MBB, MI, Reg, IsKill, FI, RC, &HRI); in insertCSRSpillsInBlock()
1440 auto &HII = *HST.getInstrInfo(); in insertCSRRestoresInBlock() local
1464 DeallocCall = BuildMI(MBB, MI, DL, HII.get(RetOpc)) in insertCSRRestoresInBlock()
1477 DeallocCall = BuildMI(MBB, It, DL, HII.get(RetOpc)) in insertCSRRestoresInBlock()
1490 HII.loadRegFromStackSlot(MBB, MI, Reg, FI, RC, &HRI); in insertCSRRestoresInBlock()
1756 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandCopy() argument
1766 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), TmpR).add(MI->getOperand(1)); in expandCopy()
1767 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), DstR) in expandCopy()
1777 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreInt() argument
1793 BuildMI(B, It, DL, HII.get(TfrOpc), TmpR) in expandStoreInt()
1797 BuildMI(B, It, DL, HII.get(Hexagon::S2_storeri_io)) in expandStoreInt()
1810 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadInt() argument
1822 BuildMI(B, It, DL, HII.get(Hexagon::L2_loadri_io), TmpR) in expandLoadInt()
1831 BuildMI(B, It, DL, HII.get(TfrOpc), DstR) in expandLoadInt()
1841 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVecPred() argument
1859 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandStoreVecPred()
1862 BuildMI(B, It, DL, HII.get(Hexagon::V6_vandqrt), TmpR1) in expandStoreVecPred()
1867 HII.storeRegToStackSlot(B, It, TmpR1, true, FI, RC, HRI); in expandStoreVecPred()
1868 expandStoreVec(B, std::prev(It), MRI, HII, NewRegs); in expandStoreVecPred()
1878 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVecPred() argument
1894 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandLoadVecPred()
1898 HII.loadRegFromStackSlot(B, It, TmpR1, FI, RC, HRI); in expandLoadVecPred()
1899 expandLoadVec(B, std::prev(It), MRI, HII, NewRegs); in expandLoadVecPred()
1901 BuildMI(B, It, DL, HII.get(Hexagon::V6_vandvrt), DstR) in expandLoadVecPred()
1913 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec2() argument
1954 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1965 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1978 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec2() argument
2005 BuildMI(B, It, DL, HII.get(LoadOpc), DstLo) in expandLoadVec2()
2013 BuildMI(B, It, DL, HII.get(LoadOpc), DstHi) in expandLoadVec2()
2024 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec() argument
2043 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec()
2055 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec() argument
2073 BuildMI(B, It, DL, HII.get(LoadOpc), DstR) in expandLoadVec()
2084 auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in expandSpillMacros() local
2098 Changed |= expandCopy(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2102 Changed |= expandStoreInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2106 Changed |= expandLoadInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2109 Changed |= expandStoreVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2112 Changed |= expandLoadVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2115 Changed |= expandLoadVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2118 Changed |= expandStoreVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2218 auto &HII = *HST.getInstrInfo(); in optimizeSpillSlots() local
2272 bool Load = HII.isLoadFromStackSlot(In, LFI) && !HII.isPredicated(In); in optimizeSpillSlots()
2273 bool Store = HII.isStoreToStackSlot(In, SFI) && !HII.isPredicated(In); in optimizeSpillSlots()
2288 unsigned AM = HII.getAddrMode(In); in optimizeSpillSlots()
2294 auto *RC = HII.getRegClass(In.getDesc(), OpNum, &HRI, MF); in optimizeSpillSlots()
2303 unsigned S = HII.getMemAccessSize(In); in optimizeSpillSlots()
2462 auto *RC = HII.getRegClass(SI.getDesc(), 2, &HRI, MF); in optimizeSpillSlots()
2482 CopyIn = BuildMI(B, StartIt, DL, HII.get(TargetOpcode::COPY), FoundR) in optimizeSpillSlots()
2507 if (!HII.isLoadFromStackSlot(MI, TFI) || TFI != FI) in optimizeSpillSlots()
2514 unsigned MemSize = HII.getMemAccessSize(MI); in optimizeSpillSlots()
2515 assert(HII.getAddrMode(MI) == HexagonII::BaseImmOffset); in optimizeSpillSlots()
2517 if (HII.isSignExtendingLoad(MI)) in optimizeSpillSlots()
2519 else if (HII.isZeroExtendingLoad(MI)) in optimizeSpillSlots()
2521 CopyOut = BuildMI(B, It, DL, HII.get(CopyOpc), DstR) in optimizeSpillSlots()
2538 const HexagonInstrInfo &HII, unsigned SP, unsigned CF) const { in expandAlloca() argument
2563 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), Rd) in expandAlloca()
2568 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), SP) in expandAlloca()
2574 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), Rd) in expandAlloca()
2578 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), SP) in expandAlloca()
2584 BuildMI(MB, AI, DL, HII.get(TargetOpcode::COPY), SP) in expandAlloca()
2589 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_addi), Rd) in expandAlloca()