Lines Matching refs:HII
591 auto &HII = *HST.getInstrInfo(); in insertPrologueInBlock() local
622 expandAlloca(MI, HII, SP, MaxCF); in insertPrologueInBlock()
638 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock()
704 BuildMI(MBB, InsertPt, dl, HII.get(LDOpc), RegUsed) in insertPrologueInBlock()
711 BuildMI(MBB, InsertPt, dl, HII.get(STOpc)) in insertPrologueInBlock()
731 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_storeri_io)) in insertPrologueInBlock()
743 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_andir), SP) in insertPrologueInBlock()
751 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::PS_call_stk)) in insertPrologueInBlock()
755 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertPrologueInBlock()
764 auto &HII = *HST.getInstrInfo(); in insertEpilogueInBlock() local
783 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertEpilogueInBlock()
795 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
798 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_add), SP) in insertEpilogueInBlock()
845 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
851 MachineInstr *NewI = BuildMI(MBB, RetI, dl, HII.get(NewOpc)) in insertEpilogueInBlock()
872 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::L2_deallocframe)) in insertEpilogueInBlock()
876 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertEpilogueInBlock()
886 auto &HII = *HST.getInstrInfo(); in insertAllocframe() local
903 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertAllocframe()
911 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::A2_addi), SP) in insertAllocframe()
915 BuildMI(MBB, InsertPt, dl, HII.get(Hexagon::S2_allocframe)) in insertAllocframe()
1034 auto &HII = *HST.getInstrInfo(); in insertCFIInstructionsAt() local
1041 const MCInstrDesc &CFID = HII.get(TargetOpcode::CFI_INSTRUCTION); in insertCFIInstructionsAt()
1371 auto &HII = *HST.getInstrInfo(); in insertCSRSpillsInBlock() local
1403 BuildMI(MBB, MI, DL, HII.get(SpillOpc)) in insertCSRSpillsInBlock()
1422 HII.storeRegToStackSlot(MBB, MI, Reg, IsKill, FI, RC, &HRI); in insertCSRSpillsInBlock()
1437 auto &HII = *HST.getInstrInfo(); in insertCSRRestoresInBlock() local
1461 DeallocCall = BuildMI(MBB, MI, DL, HII.get(RetOpc)) in insertCSRRestoresInBlock()
1474 DeallocCall = BuildMI(MBB, It, DL, HII.get(RetOpc)) in insertCSRRestoresInBlock()
1487 HII.loadRegFromStackSlot(MBB, MI, Reg, FI, RC, &HRI); in insertCSRRestoresInBlock()
1753 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandCopy() argument
1763 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), TmpR).add(MI->getOperand(1)); in expandCopy()
1764 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), DstR) in expandCopy()
1774 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreInt() argument
1790 BuildMI(B, It, DL, HII.get(TfrOpc), TmpR) in expandStoreInt()
1794 BuildMI(B, It, DL, HII.get(Hexagon::S2_storeri_io)) in expandStoreInt()
1807 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadInt() argument
1819 BuildMI(B, It, DL, HII.get(Hexagon::L2_loadri_io), TmpR) in expandLoadInt()
1828 BuildMI(B, It, DL, HII.get(TfrOpc), DstR) in expandLoadInt()
1838 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVecPred() argument
1856 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandStoreVecPred()
1859 BuildMI(B, It, DL, HII.get(Hexagon::V6_vandqrt), TmpR1) in expandStoreVecPred()
1864 HII.storeRegToStackSlot(B, It, TmpR1, true, FI, RC, HRI); in expandStoreVecPred()
1865 expandStoreVec(B, std::prev(It), MRI, HII, NewRegs); in expandStoreVecPred()
1875 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVecPred() argument
1891 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandLoadVecPred()
1895 HII.loadRegFromStackSlot(B, It, TmpR1, FI, RC, HRI); in expandLoadVecPred()
1896 expandLoadVec(B, std::prev(It), MRI, HII, NewRegs); in expandLoadVecPred()
1898 BuildMI(B, It, DL, HII.get(Hexagon::V6_vandvrt), DstR) in expandLoadVecPred()
1910 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec2() argument
1951 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1962 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1975 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec2() argument
2002 BuildMI(B, It, DL, HII.get(LoadOpc), DstLo) in expandLoadVec2()
2010 BuildMI(B, It, DL, HII.get(LoadOpc), DstHi) in expandLoadVec2()
2021 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec() argument
2040 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec()
2052 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec() argument
2070 BuildMI(B, It, DL, HII.get(LoadOpc), DstR) in expandLoadVec()
2081 auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in expandSpillMacros() local
2095 Changed |= expandCopy(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2099 Changed |= expandStoreInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2103 Changed |= expandLoadInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2106 Changed |= expandStoreVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2109 Changed |= expandLoadVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2112 Changed |= expandLoadVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2115 Changed |= expandStoreVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
2215 auto &HII = *HST.getInstrInfo(); in optimizeSpillSlots() local
2269 bool Load = HII.isLoadFromStackSlot(In, LFI) && !HII.isPredicated(In); in optimizeSpillSlots()
2270 bool Store = HII.isStoreToStackSlot(In, SFI) && !HII.isPredicated(In); in optimizeSpillSlots()
2285 unsigned AM = HII.getAddrMode(In); in optimizeSpillSlots()
2291 auto *RC = HII.getRegClass(In.getDesc(), OpNum, &HRI, MF); in optimizeSpillSlots()
2300 unsigned S = HII.getMemAccessSize(In); in optimizeSpillSlots()
2459 auto *RC = HII.getRegClass(SI.getDesc(), 2, &HRI, MF); in optimizeSpillSlots()
2479 CopyIn = BuildMI(B, StartIt, DL, HII.get(TargetOpcode::COPY), FoundR) in optimizeSpillSlots()
2504 if (!HII.isLoadFromStackSlot(MI, TFI) || TFI != FI) in optimizeSpillSlots()
2511 unsigned MemSize = HII.getMemAccessSize(MI); in optimizeSpillSlots()
2512 assert(HII.getAddrMode(MI) == HexagonII::BaseImmOffset); in optimizeSpillSlots()
2514 if (HII.isSignExtendingLoad(MI)) in optimizeSpillSlots()
2516 else if (HII.isZeroExtendingLoad(MI)) in optimizeSpillSlots()
2518 CopyOut = BuildMI(B, It, DL, HII.get(CopyOpc), DstR) in optimizeSpillSlots()
2535 const HexagonInstrInfo &HII, unsigned SP, unsigned CF) const { in expandAlloca() argument
2560 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), Rd) in expandAlloca()
2565 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), SP) in expandAlloca()
2571 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), Rd) in expandAlloca()
2575 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), SP) in expandAlloca()
2581 BuildMI(MB, AI, DL, HII.get(TargetOpcode::COPY), SP) in expandAlloca()
2586 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_addi), Rd) in expandAlloca()