/external/llvm/lib/Target/Hexagon/ |
D | HexagonVLIWPacketizer.cpp | 88 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 …]
|
D | HexagonBranchRelaxation.cpp | 57 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 …]
|
D | HexagonOptAddrMode.cpp | 51 : 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 …]
|
D | HexagonFrameLowering.cpp | 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() [all …]
|
D | HexagonFrameLowering.h | 102 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,
|
D | HexagonExpandCondsets.cpp | 181 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 …]
|
D | HexagonBitSimplify.cpp | 179 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 …]
|
D | HexagonRegisterInfo.cpp | 169 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()
|
D | HexagonRDFOpt.cpp | 206 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()
|
D | HexagonGenMux.cpp | 42 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()
|
D | HexagonFixupHwLoops.cpp | 113 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/ |
D | HexagonVLIWPacketizer.cpp | 113 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 …]
|
D | HexagonBranchRelaxation.cpp | 69 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 …]
|
D | HexagonOptAddrMode.cpp | 83 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 …]
|
D | HexagonFrameLowering.cpp | 558 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 …]
|
D | HexagonFrameLowering.h | 128 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,
|
D | HexagonVExtract.cpp | 55 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()
|
D | HexagonExpandCondsets.cpp | 165 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 …]
|
D | HexagonBitSimplify.cpp | 224 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 …]
|
D | HexagonConstExtenders.cpp | 381 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 …]
|
D | HexagonEarlyIfConv.cpp | 214 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 …]
|
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()
|
D | HexagonSubtarget.cpp | 182 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()
|
D | HexagonHazardRecognizer.h | 46 const HexagonInstrInfo *HII, in HexagonHazardRecognizer() argument 48 : Resources(ST.createDFAPacketizer(II)), TII(HII) { } in HexagonHazardRecognizer()
|
D | HexagonFixupHwLoops.cpp | 113 const HexagonInstrInfo *HII = in fixupLoopInstrs() local 128 InstOffset += HII->getSize(MI); in fixupLoopInstrs() 141 unsigned InstSize = HII->getSize(*MII); in fixupLoopInstrs()
|