/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCMachineScheduler.cpp | 24 static bool isADDIInstr(const GenericScheduler::SchedCandidate &Cand) { in isADDIInstr() argument 25 return Cand.SU->getInstr()->getOpcode() == PPC::ADDI || in isADDIInstr() 26 Cand.SU->getInstr()->getOpcode() == PPC::ADDI8; in isADDIInstr() 29 bool PPCPreRASchedStrategy::biasAddiLoadCandidate(SchedCandidate &Cand, in biasAddiLoadCandidate() argument 35 SchedCandidate &FirstCand = Zone.isTop() ? TryCand : Cand; in biasAddiLoadCandidate() 36 SchedCandidate &SecondCand = Zone.isTop() ? Cand : TryCand; in biasAddiLoadCandidate() 49 bool PPCPreRASchedStrategy::tryCandidate(SchedCandidate &Cand, in tryCandidate() argument 55 if (!Cand.isValid()) { in tryCandidate() 62 biasPhysReg(Cand.SU, Cand.AtTop), TryCand, Cand, PhysReg)) in tryCandidate() 67 tryPressure(TryCand.RPDelta.Excess, Cand.RPDelta.Excess, TryCand, Cand, in tryCandidate() [all …]
|
H A D | PPCBranchCoalescing.cpp | 154 bool canCoalesceBranch(CoalescingCandidateInfo &Cand); 233 bool PPCBranchCoalescing::canCoalesceBranch(CoalescingCandidateInfo &Cand) { in canCoalesceBranch() argument 235 << Cand.BranchBlock->getNumber() << " can be coalesced:"); in canCoalesceBranch() 238 if (TII->analyzeBranch(*Cand.BranchBlock, Cand.BranchTargetBlock, FalseMBB, in canCoalesceBranch() 239 Cand.Cond)) { in canCoalesceBranch() 244 for (auto &I : Cand.BranchBlock->terminators()) { in canCoalesceBranch() 269 if (Cand.BranchBlock->isEHPad() || Cand.BranchBlock->hasEHPadSuccessor()) { in canCoalesceBranch() 274 if (Cand.BranchBlock->mayHaveInlineAsmBr()) { in canCoalesceBranch() 281 if (!Cand.BranchTargetBlock || FalseMBB || in canCoalesceBranch() 282 !Cand.BranchBlock->isSuccessor(Cand.BranchTargetBlock)) { in canCoalesceBranch() [all …]
|
H A D | PPCMachineScheduler.h | 26 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand, 30 bool biasAddiLoadCandidate(SchedCandidate &Cand, 47 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) override; 48 bool biasAddiCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) const;
|
H A D | PPCFrameLowering.cpp | 2772 MCPhysReg Cand = CSRegs[i]; in updateCalleeSaves() local 2773 if (!SavedRegs.test(Cand)) in updateCalleeSaves() 2775 if (PPC::GPRCRegClass.contains(Cand) && Cand < LowestGPR) in updateCalleeSaves() 2776 LowestGPR = Cand; in updateCalleeSaves() 2777 else if (PPC::G8RCRegClass.contains(Cand) && Cand < LowestG8R) in updateCalleeSaves() 2778 LowestG8R = Cand; in updateCalleeSaves() 2779 else if ((PPC::F4RCRegClass.contains(Cand) || in updateCalleeSaves() 2780 PPC::F8RCRegClass.contains(Cand)) && in updateCalleeSaves() 2781 Cand < LowestFPR) in updateCalleeSaves() 2782 LowestFPR = Cand; in updateCalleeSaves() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopLoadElimination.cpp | 141 const StoreToLoadForwardingCandidate &Cand) { in operator <<() argument 142 OS << *Cand.Store << " -->\n"; in operator <<() 143 OS.indent(2) << *Cand.Load << "\n"; in operator <<() 276 for (const auto &Cand : Candidates) { in removeDependencesFromMultipleStores() local 281 LoadToSingleCand.insert(std::make_pair(Cand.Load, &Cand)); in removeDependencesFromMultipleStores() 291 if (Cand.Store->getParent() == OtherCand->Store->getParent() && in removeDependencesFromMultipleStores() 292 Cand.isDependenceDistanceOfOne(PSE, L) && in removeDependencesFromMultipleStores() 295 if (getInstrIndex(OtherCand->Store) < getInstrIndex(Cand.Store)) in removeDependencesFromMultipleStores() 296 OtherCand = &Cand; in removeDependencesFromMultipleStores() 302 Candidates.remove_if([&](const StoreToLoadForwardingCandidate &Cand) { in removeDependencesFromMultipleStores() argument [all …]
|
H A D | TLSVariableHoist.cpp | 149 static bool oneUseOutsideLoop(tlshoist::TLSCandidate &Cand, LoopInfo *LI) { 150 if (Cand.Users.size() != 1) in oneUseOutsideLoop() argument 153 BasicBlock *BB = Cand.Users[0].Inst->getParent(); in oneUseOutsideLoop() 195 tlshoist::TLSCandidate &Cand = TLSCandMap[GV]; in findInsertPos() 200 for (auto &User : Cand.Users) { in findInsertPos() 231 tlshoist::TLSCandidate &Cand = TLSCandMap[GV]; in tryReplaceTLSCandidate() 234 if (oneUseOutsideLoop(Cand, LI)) in tryReplaceTLSCandidate() 241 for (auto &User : Cand.Users) in tryReplaceTLSCandidate() 196 tlshoist::TLSCandidate &Cand = TLSCandMap[GV]; findInsertPos() local 232 tlshoist::TLSCandidate &Cand = TLSCandMap[GV]; tryReplaceTLSCandidate() local
|
H A D | GVNSink.cpp | 797 SinkingInstructionCandidate Cand; in analyzeInstructionForSinking() local 798 Cand.NumInstructions = ++InstNum; in analyzeInstructionForSinking() 799 Cand.NumMemoryInsts = MemoryInstNum; in analyzeInstructionForSinking() 800 Cand.NumBlocks = ActivePreds.size(); in analyzeInstructionForSinking() 801 Cand.NumPHIs = NeededPHIs.size(); in analyzeInstructionForSinking() 802 append_range(Cand.Blocks, ActivePreds); in analyzeInstructionForSinking() 804 return Cand; in analyzeInstructionForSinking() 844 auto Cand = analyzeInstructionForSinking(LRI, InstNum, MemoryInstNum, in sinkBB() local 846 if (!Cand) in sinkBB() 848 Cand->calculateCost(NumOrigPHIs, Preds.size()); in sinkBB() [all …]
|
H A D | RewriteStatepointsForGC.cpp | 2426 Instruction *Cand = cast<Instruction>(It.first); in rematerializeLiveValuesAtUses() local 2432 if (Cand->user_empty()) in rematerializeLiveValuesAtUses() 2435 if (Cand->hasOneUse()) in rematerializeLiveValuesAtUses() 2436 if (auto *U = dyn_cast<Instruction>(Cand->getUniqueUndroppableUser())) in rematerializeLiveValuesAtUses() 2437 if (U->getParent() == Cand->getParent()) in rematerializeLiveValuesAtUses() 2441 if (llvm::any_of(Cand->users(), in rematerializeLiveValuesAtUses() 2445 LLVM_DEBUG(dbgs() << "Trying cand " << *Cand << " ... "); in rematerializeLiveValuesAtUses() 2454 Records, [Cand](const auto &R) { return R.LiveSet.contains(Cand); }); in rematerializeLiveValuesAtUses() 2455 unsigned NumUses = Cand->getNumUses(); in rematerializeLiveValuesAtUses() 2482 findRematerializableChainToBasePointer(Record.ChainToBase, Cand); in rematerializeLiveValuesAtUses() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIMachineScheduler.cpp | 141 SISchedulerCandidate &Cand, in tryLess() argument 148 if (Cand.Reason > Reason) in tryLess() 149 Cand.Reason = Reason; in tryLess() 152 Cand.setRepeat(Reason); in tryLess() 158 SISchedulerCandidate &Cand, in tryGreater() argument 165 if (Cand.Reason > Reason) in tryGreater() 166 Cand.Reason = Reason; in tryGreater() 169 Cand.setRepeat(Reason); in tryGreater() 182 void SIScheduleBlock::traceCandidate(const SISchedCandidate &Cand) { in traceCandidate() argument 184 dbgs() << " SU(" << Cand.SU->NodeNum << ") " << getReasonStr(Cand.Reason); in traceCandidate() [all …]
|
H A D | GCNSchedStrategy.cpp | 164 void GCNSchedStrategy::initCandidate(SchedCandidate &Cand, SUnit *SU, in initCandidate() argument 170 Cand.SU = SU; in initCandidate() 171 Cand.AtTop = AtTop; in initCandidate() 253 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::VGPR_32); in initCandidate() 254 Cand.RPDelta.Excess.setUnitInc(NewVGPRPressure - VGPRExcessLimit); in initCandidate() 259 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::SReg_32); in initCandidate() 260 Cand.RPDelta.Excess.setUnitInc(NewSGPRPressure - SGPRExcessLimit); in initCandidate() 274 Cand.RPDelta.CriticalMax = in initCandidate() 276 Cand.RPDelta.CriticalMax.setUnitInc(SGPRDelta); in initCandidate() 278 Cand.RPDelta.CriticalMax = in initCandidate() [all …]
|
H A D | SIMachineScheduler.h | 202 void tryCandidateTopDown(SISchedCandidate &Cand, SISchedCandidate &TryCand); 203 void tryCandidateBottomUp(SISchedCandidate &Cand, SISchedCandidate &TryCand); 205 void traceCandidate(const SISchedCandidate &Cand); 386 bool tryCandidateLatency(SIBlockSchedCandidate &Cand, 388 bool tryCandidateRegUsage(SIBlockSchedCandidate &Cand,
|
H A D | GCNMinRegStrategy.cpp | 123 auto &Cand = *I++; in findMax() local 124 RQ.remove(Cand); in findMax() 125 RQ.push_front(Cand); in findMax()
|
H A D | GCNSchedStrategy.h | 48 SchedCandidate &Cand, bool IsBottomUp); 50 void initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop, 132 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand,
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineScheduler.cpp | 3116 void GenericSchedulerBase::traceCandidate(const SchedCandidate &Cand) { in traceCandidate() argument 3120 switch (Cand.Reason) { in traceCandidate() 3124 P = Cand.RPDelta.Excess; in traceCandidate() 3127 P = Cand.RPDelta.CriticalMax; in traceCandidate() 3130 P = Cand.RPDelta.CurrentMax; in traceCandidate() 3133 ResIdx = Cand.Policy.ReduceResIdx; in traceCandidate() 3136 ResIdx = Cand.Policy.DemandResIdx; in traceCandidate() 3139 Latency = Cand.SU->getDepth(); in traceCandidate() 3142 Latency = Cand.SU->getHeight(); in traceCandidate() 3145 Latency = Cand.SU->getHeight(); in traceCandidate() [all …]
|
H A D | RegAllocGreedy.cpp | 727 bool RAGreedy::growRegion(GlobalSplitCandidate &Cand) { in growRegion() argument 730 SmallVectorImpl<unsigned> &ActiveBlocks = Cand.ActiveBlocks; in growRegion() 765 if (Cand.PhysReg) { in growRegion() 766 if (!addThroughConstraints(Cand.Intf, NewBlocks)) in growRegion() 806 bool RAGreedy::calcCompactRegion(GlobalSplitCandidate &Cand) { in calcCompactRegion() argument 812 Cand.reset(IntfCache, MCRegister::NoRegister); in calcCompactRegion() 818 SpillPlacer->prepare(Cand.LiveBundles); in calcCompactRegion() 822 if (!addSplitConstraints(Cand.Intf, Cost)) { in calcCompactRegion() 827 if (!growRegion(Cand)) { in calcCompactRegion() 834 if (!Cand.LiveBundles.any()) { in calcCompactRegion() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64MachineScheduler.cpp | 61 bool AArch64PostRASchedStrategy::tryCandidate(SchedCandidate &Cand, in tryCandidate() argument 63 bool OriginalResult = PostGenericScheduler::tryCandidate(Cand, TryCand); in tryCandidate() 65 if (Cand.isValid()) { in tryCandidate() 67 MachineInstr *Instr1 = Cand.SU->getInstr(); in tryCandidate()
|
H A D | AArch64MachineScheduler.h | 27 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) override;
|
/freebsd/contrib/llvm-project/clang/lib/Sema/ |
H A D | SemaOverload.cpp | 1647 for (OverloadCandidateSet::iterator Cand = Conversions.begin(); in TryUserDefinedConversion() local 1648 Cand != Conversions.end(); ++Cand) in TryUserDefinedConversion() 1649 if (Cand->Best) in TryUserDefinedConversion() 1650 ICS.Ambiguous.addConversion(Cand->FoundDecl, Cand->Function); in TryUserDefinedConversion() 5010 for (OverloadCandidateSet::iterator Cand = CandidateSet.begin(); in FindConversionForRefInit() local 5011 Cand != CandidateSet.end(); ++Cand) in FindConversionForRefInit() 5012 if (Cand->Best) in FindConversionForRefInit() 5013 ICS.Ambiguous.addConversion(Cand->FoundDecl, Cand->Function); in FindConversionForRefInit() 9976 for (OverloadCandidateSet::iterator Cand = CandidateSet.begin(), in AddArgumentDependentLookupCandidates() local 9978 Cand != CandEnd; ++Cand) in AddArgumentDependentLookupCandidates() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachineScheduler.h | 1178 void traceCandidate(const SchedCandidate &Cand); 1189 GenericSchedulerBase::SchedCandidate &Cand, 1193 GenericSchedulerBase::SchedCandidate &Cand, 1196 GenericSchedulerBase::SchedCandidate &Cand, 1201 GenericSchedulerBase::SchedCandidate &Cand, 1270 void initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop, 1274 virtual bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand, 1347 virtual bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand); 1349 void pickNodeFromQueue(SchedBoundary &Zone, SchedCandidate &Cand);
|
/freebsd/contrib/llvm-project/clang/lib/Driver/ToolChains/ |
H A D | AMDGPU.cpp | 42 RocmInstallationDetector::findSPACKPackage(const Candidate &Cand, in findSPACKPackage() argument 44 if (!Cand.isSPACK()) in findSPACKPackage() 47 std::string Prefix = Twine(PackageName + "-" + Cand.SPACKReleaseStr).str(); in findSPACKPackage() 49 for (llvm::vfs::directory_iterator File = D.getVFS().dir_begin(Cand.Path, EC), in findSPACKPackage() 60 auto PackagePath = Cand.Path; in findSPACKPackage() 65 llvm::errs() << "SPACK package " << Prefix << " not found at " << Cand.Path in findSPACKPackage() 71 llvm::errs() << "Cannot use SPACK package " << Prefix << " at " << Cand.Path in findSPACKPackage() 189 for (auto Cand : ROCmSearchDirs) { in getInstallationPathCandidates() local 191 if (Cand.isSPACK()) in getInstallationPathCandidates() 192 llvm::errs() << " (Spack " << Cand.SPACKReleaseStr << ")"; in getInstallationPathCandidates() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | PartialInlining.cpp | 635 BasicBlock *Cand = OutliningInfo->NonReturnBlock; in computeOutliningInfo() local 636 if (succ_size(Cand) != 2) in computeOutliningInfo() 639 if (HasNonEntryPred(Cand)) in computeOutliningInfo() 642 BasicBlock *Succ1 = *succ_begin(Cand); in computeOutliningInfo() 643 BasicBlock *Succ2 = *(succ_begin(Cand) + 1); in computeOutliningInfo() 650 if (NonReturnBlock->getSinglePredecessor() != Cand) in computeOutliningInfo() 654 OutliningInfo->Entries.push_back(Cand); in computeOutliningInfo() 656 OutliningInfo->ReturnBlockPreds.push_back(Cand); in computeOutliningInfo() 657 Entries.insert(Cand); in computeOutliningInfo()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | IRSimilarityIdentifier.cpp | 1530 for (IRSimilarityCandidate &Cand : CandVec) { in run() 1531 OS << " Function: " << Cand.front()->Inst->getFunction()->getName().str() in run() 1533 if (Cand.front()->Inst->getParent()->getName().str() == "") in run() 1536 OS << Cand.front()->Inst->getParent()->getName().str(); in run() 1538 Cand.frontInstruction()->print(OS); in run() 1540 Cand.backInstruction()->print(OS); in run()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/ProfileData/ |
H A D | SampleProf.h | 1111 StringRef Cand(FnName); 1118 auto It = Cand.rfind(Suffix); 1121 auto Dit = Cand.rfind('.'); 1123 Cand = Cand.substr(0, It); 1125 return Cand;
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | PGOInstrumentation.cpp | 841 populateEHOperandBundle(VPCandidateInfo &Cand, in populateEHOperandBundle() argument 844 auto *OrigCall = dyn_cast<CallBase>(Cand.AnnotatedInst); in populateEHOperandBundle() 993 for (VPCandidateInfo Cand : FuncInfo.ValueSites[Kind]) { in instrumentOneFunc() local 997 IRBuilder<> Builder(Cand.InsertPt); in instrumentOneFunc() 998 assert(Builder.GetInsertPoint() != Cand.InsertPt->getParent()->end() && in instrumentOneFunc() 1002 if (Cand.V->getType()->isIntegerTy()) in instrumentOneFunc() 1003 ToProfile = Builder.CreateZExtOrTrunc(Cand.V, Builder.getInt64Ty()); in instrumentOneFunc() 1004 else if (Cand.V->getType()->isPointerTy()) in instrumentOneFunc() 1005 ToProfile = Builder.CreatePtrToInt(Cand.V, Builder.getInt64Ty()); in instrumentOneFunc() 1009 populateEHOperandBundle(Cand, BlockColors, OpBundles); in instrumentOneFunc()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMLoadStoreOptimizer.cpp | 189 MachineInstr *MergeOpsUpdate(const MergeCandidate &Cand); 861 MachineInstr *ARMLoadStoreOpt::MergeOpsUpdate(const MergeCandidate &Cand) { in MergeOpsUpdate() argument 862 const MachineInstr *First = Cand.Instrs.front(); in MergeOpsUpdate() 870 for (const MachineInstr *MI : Cand.Instrs) { in MergeOpsUpdate() 902 MachineInstr *LatestMI = Cand.Instrs[Cand.LatestMIIdx]; in MergeOpsUpdate() 912 if (Cand.CanMergeToLSDouble) in MergeOpsUpdate() 915 Cand.Instrs); in MergeOpsUpdate() 916 if (!Merged && Cand.CanMergeToLSMulti) in MergeOpsUpdate() 918 Opcode, Pred, PredReg, DL, Regs, Cand.Instrs); in MergeOpsUpdate() 924 iterator EarliestI(Cand.Instrs[Cand.EarliestMIIdx]); in MergeOpsUpdate() [all …]
|