Lines Matching refs:HII
499 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()
602 BuildMI(MBB, InsertPt, DL, HII.get(Hexagon::A2_add), SP) in insertEpilogueInBlock()
642 BuildMI(MBB, InsertPt, DL, HII.get(Hexagon::L2_deallocframe)); in insertEpilogueInBlock()
646 MachineInstr *NewI = BuildMI(MBB, RetI, DL, HII.get(NewOpc)); in insertEpilogueInBlock()
735 auto &HII = *HST.getInstrInfo(); in insertCFIInstructionsAt() local
742 const MCInstrDesc &CFID = HII.get(TargetOpcode::CFI_INSTRUCTION); in insertCFIInstructionsAt()
1052 auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in insertCSRSpillsInBlock() local
1074 BuildMI(MBB, MI, DL, HII.get(SpillOpc)) in insertCSRSpillsInBlock()
1092 HII.storeRegToStackSlot(MBB, MI, Reg, IsKill, FI, RC, &HRI); in insertCSRSpillsInBlock()
1107 auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in insertCSRRestoresInBlock() local
1125 DeallocCall = BuildMI(MBB, MI, DL, HII.get(ROpc)) in insertCSRRestoresInBlock()
1133 DeallocCall = BuildMI(MBB, It, DL, HII.get(ROpc)) in insertCSRRestoresInBlock()
1146 HII.loadRegFromStackSlot(MBB, MI, Reg, FI, RC, &HRI); in insertCSRRestoresInBlock()
1377 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandCopy() argument
1387 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), TmpR) in expandCopy()
1389 BuildMI(B, It, DL, HII.get(TargetOpcode::COPY), DstR) in expandCopy()
1399 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreInt() argument
1414 BuildMI(B, It, DL, HII.get(TfrOpc), TmpR) in expandStoreInt()
1418 BuildMI(B, It, DL, HII.get(Hexagon::S2_storeri_io)) in expandStoreInt()
1431 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadInt() argument
1442 BuildMI(B, It, DL, HII.get(Hexagon::L2_loadri_io), TmpR) in expandLoadInt()
1451 BuildMI(B, It, DL, HII.get(TfrOpc), DstR) in expandLoadInt()
1462 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVecPred() argument
1483 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandStoreVecPred()
1487 BuildMI(B, It, DL, HII.get(VandOpc), TmpR1) in expandStoreVecPred()
1492 HII.storeRegToStackSlot(B, It, TmpR1, true, FI, RC, HRI); in expandStoreVecPred()
1493 expandStoreVec(B, std::prev(It), MRI, HII, NewRegs); in expandStoreVecPred()
1503 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVecPred() argument
1522 BuildMI(B, It, DL, HII.get(Hexagon::A2_tfrsi), TmpR0) in expandLoadVecPred()
1525 HII.loadRegFromStackSlot(B, It, TmpR1, FI, RC, HRI); in expandLoadVecPred()
1526 expandLoadVec(B, std::prev(It), MRI, HII, NewRegs); in expandLoadVecPred()
1529 BuildMI(B, It, DL, HII.get(VandOpc), DstR) in expandLoadVecPred()
1541 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec2() argument
1571 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1583 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec2()
1595 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec2() argument
1624 BuildMI(B, It, DL, HII.get(LoadOpc), DstLo) in expandLoadVec2()
1635 BuildMI(B, It, DL, HII.get(LoadOpc), DstHi) in expandLoadVec2()
1646 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandStoreVec() argument
1672 BuildMI(B, It, DL, HII.get(StoreOpc)) in expandStoreVec()
1684 const HexagonInstrInfo &HII, SmallVectorImpl<unsigned> &NewRegs) const { in expandLoadVec() argument
1709 BuildMI(B, It, DL, HII.get(LoadOpc), DstR) in expandLoadVec()
1722 auto &HII = *HST.getInstrInfo(); in expandSpillMacros() local
1736 Changed |= expandCopy(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1740 Changed |= expandStoreInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1744 Changed |= expandLoadInt(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1748 Changed |= expandStoreVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1752 Changed |= expandLoadVecPred(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1756 Changed |= expandLoadVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1760 Changed |= expandStoreVec2(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1764 Changed |= expandStoreVec(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1768 Changed |= expandLoadVec(B, I, MRI, HII, NewRegs); in expandSpillMacros()
1862 auto &HII = *HST.getInstrInfo(); in optimizeSpillSlots() local
1929 bool Load = HII.isLoadFromStackSlot(In, LFI) && !HII.isPredicated(In); in optimizeSpillSlots()
1930 bool Store = HII.isStoreToStackSlot(In, SFI) && !HII.isPredicated(In); in optimizeSpillSlots()
1945 unsigned AM = HII.getAddrMode(&In); in optimizeSpillSlots()
1966 unsigned S = (1U << (HII.getMemAccessSize(&In) - 1)); in optimizeSpillSlots()
2124 CopyIn = BuildMI(B, StartIt, DL, HII.get(TargetOpcode::COPY), FoundR) in optimizeSpillSlots()
2149 if (!HII.isLoadFromStackSlot(*MI, TFI) || TFI != FI) in optimizeSpillSlots()
2156 unsigned MemSize = (1U << (HII.getMemAccessSize(MI) - 1)); in optimizeSpillSlots()
2157 assert(HII.getAddrMode(MI) == HexagonII::BaseImmOffset); in optimizeSpillSlots()
2159 if (HII.isSignExtendingLoad(*MI)) in optimizeSpillSlots()
2161 else if (HII.isZeroExtendingLoad(*MI)) in optimizeSpillSlots()
2163 CopyOut = BuildMI(B, It, DL, HII.get(CopyOpc), DstR) in optimizeSpillSlots()
2181 const HexagonInstrInfo &HII, unsigned SP, unsigned CF) const { in expandAlloca() argument
2206 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), Rd) in expandAlloca()
2211 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_sub), SP) in expandAlloca()
2217 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), Rd) in expandAlloca()
2221 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_andir), SP) in expandAlloca()
2227 BuildMI(MB, AI, DL, HII.get(TargetOpcode::COPY), SP) in expandAlloca()
2232 BuildMI(MB, AI, DL, HII.get(Hexagon::A2_addi), Rd) in expandAlloca()