| /llvm-project-15.0.7/llvm/lib/Target/Hexagon/ |
| H A D | HexagonVLIWPacketizer.cpp | 401 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 D | HexagonBranchRelaxation.cpp | 69 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 D | HexagonOptAddrMode.cpp | 83 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 D | HexagonFrameLowering.cpp | 594 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 D | HexagonFrameLowering.h | 135 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 D | HexagonVExtract.cpp | 55 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 D | HexagonConstExtenders.cpp | 383 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 D | HexagonExpandCondsets.cpp | 165 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 D | HexagonBitSimplify.cpp | 655 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 D | HexagonEarlyIfConv.cpp | 213 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 D | HexagonRDFOpt.cpp | 220 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 D | HexagonHazardRecognizer.h | 49 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument 51 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
|
| H A D | HexagonFixupHwLoops.cpp | 112 const HexagonInstrInfo *HII = in fixupLoopInstrs() local 126 InstOffset += HII->getSize(MI); in fixupLoopInstrs() 139 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
|
| H A D | HexagonSubtarget.cpp | 315 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 D | HexagonGenMux.cpp | 88 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 D | HexagonISelDAGToDAG.h | 31 const HexagonInstrInfo *HII; variable 36 : SelectionDAGISel(tm, OptLevel), HST(nullptr), HII(nullptr), in HexagonDAGToDAGISel() 42 HII = HST->getInstrInfo(); in runOnMachineFunction()
|
| H A D | HexagonRegisterInfo.cpp | 215 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 D | HexagonConstPropagation.cpp | 1887 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 D | HexagonVLIWPacketizer.h | 76 const HexagonInstrInfo *HII;
|
| H A D | HexagonGenInsert.cpp | 567 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 D | HexagonSubtarget.h | 87 bool shouldTFRICallBind(const HexagonInstrInfo &HII,
|
| H A D | HexagonAsmPrinter.cpp | 766 const auto &HII = *MF.getSubtarget<HexagonSubtarget>().getInstrInfo(); in emitInstruction() local 767 if (MI->isBundle() && HII.getBundleNoShuf(*MI)) in emitInstruction()
|
| H A D | HexagonISelDAGToDAG.cpp | 78 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()
|