Home
last modified time | relevance | path

Searched refs:Cand (Results 1 – 25 of 37) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCMachineScheduler.cpp24 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 DPPCBranchCoalescing.cpp154 bool canCoalesceBranch(CoalescingCandidateInfo &Cand);
231 bool PPCBranchCoalescing::canCoalesceBranch(CoalescingCandidateInfo &Cand) { in canCoalesceBranch() argument
233 << Cand.BranchBlock->getNumber() << " can be coalesced:"); in canCoalesceBranch()
236 if (TII->analyzeBranch(*Cand.BranchBlock, Cand.BranchTargetBlock, FalseMBB, in canCoalesceBranch()
237 Cand.Cond)) { in canCoalesceBranch()
242 for (auto &I : Cand.BranchBlock->terminators()) { in canCoalesceBranch()
267 if (Cand.BranchBlock->isEHPad() || Cand.BranchBlock->hasEHPadSuccessor()) { in canCoalesceBranch()
272 if (Cand.BranchBlock->mayHaveInlineAsmBr()) { in canCoalesceBranch()
279 if (!Cand.BranchTargetBlock || FalseMBB || in canCoalesceBranch()
280 !Cand.BranchBlock->isSuccessor(Cand.BranchTargetBlock)) { in canCoalesceBranch()
[all …]
H A DPPCMachineScheduler.h26 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 DPPCFrameLowering.cpp2771 MCPhysReg Cand = CSRegs[i]; in updateCalleeSaves() local
2772 if (!SavedRegs.test(Cand)) in updateCalleeSaves()
2777 if (Cand == PPC::X2 || Cand == PPC::R2) { in updateCalleeSaves()
2778 SavedRegs.set(Cand); in updateCalleeSaves()
2782 if (PPC::GPRCRegClass.contains(Cand) && Cand < LowestGPR) in updateCalleeSaves()
2783 LowestGPR = Cand; in updateCalleeSaves()
2784 else if (PPC::G8RCRegClass.contains(Cand) && Cand < LowestG8R) in updateCalleeSaves()
2785 LowestG8R = Cand; in updateCalleeSaves()
2786 else if ((PPC::F4RCRegClass.contains(Cand) || in updateCalleeSaves()
2787 PPC::F8RCRegClass.contains(Cand)) && in updateCalleeSaves()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopLoadElimination.cpp139 const StoreToLoadForwardingCandidate &Cand) { in operator <<() argument
140 OS << *Cand.Store << " -->\n"; in operator <<()
141 OS.indent(2) << *Cand.Load << "\n"; in operator <<()
274 for (const auto &Cand : Candidates) { in removeDependencesFromMultipleStores() local
279 LoadToSingleCand.insert(std::make_pair(Cand.Load, &Cand)); in removeDependencesFromMultipleStores()
289 if (Cand.Store->getParent() == OtherCand->Store->getParent() && in removeDependencesFromMultipleStores()
290 Cand.isDependenceDistanceOfOne(PSE, L) && in removeDependencesFromMultipleStores()
293 if (getInstrIndex(OtherCand->Store) < getInstrIndex(Cand.Store)) in removeDependencesFromMultipleStores()
294 OtherCand = &Cand; in removeDependencesFromMultipleStores()
300 Candidates.remove_if([&](const StoreToLoadForwardingCandidate &Cand) { in removeDependencesFromMultipleStores() argument
[all …]
H A DGVNSink.cpp713 SinkingInstructionCandidate Cand; in analyzeInstructionForSinking() local
714 Cand.NumInstructions = ++InstNum; in analyzeInstructionForSinking()
715 Cand.NumMemoryInsts = MemoryInstNum; in analyzeInstructionForSinking()
716 Cand.NumBlocks = ActivePreds.size(); in analyzeInstructionForSinking()
717 Cand.NumPHIs = NeededPHIs.size(); in analyzeInstructionForSinking()
718 append_range(Cand.Blocks, ActivePreds); in analyzeInstructionForSinking()
720 return Cand; in analyzeInstructionForSinking()
760 auto Cand = analyzeInstructionForSinking(LRI, InstNum, MemoryInstNum, in sinkBB() local
762 if (!Cand) in sinkBB()
764 Cand->calculateCost(NumOrigPHIs, Preds.size()); in sinkBB()
[all …]
H A DRewriteStatepointsForGC.cpp2432 Instruction *Cand = cast<Instruction>(It.first); in rematerializeLiveValuesAtUses() local
2438 if (Cand->user_empty()) in rematerializeLiveValuesAtUses()
2441 if (Cand->hasOneUse()) in rematerializeLiveValuesAtUses()
2442 if (auto *U = dyn_cast<Instruction>(Cand->getUniqueUndroppableUser())) in rematerializeLiveValuesAtUses()
2443 if (U->getParent() == Cand->getParent()) in rematerializeLiveValuesAtUses()
2447 if (llvm::any_of(Cand->users(), in rematerializeLiveValuesAtUses()
2451 LLVM_DEBUG(dbgs() << "Trying cand " << *Cand << " ... "); in rematerializeLiveValuesAtUses()
2460 Records, [Cand](const auto &R) { return R.LiveSet.contains(Cand); }); in rematerializeLiveValuesAtUses()
2461 unsigned NumUses = Cand->getNumUses(); in rematerializeLiveValuesAtUses()
2488 findRematerializableChainToBasePointer(Record.ChainToBase, Cand); in rematerializeLiveValuesAtUses()
[all …]
H A DConstantHoisting.cpp382 ConstPtrUnionType Cand = ConstInt; in collectConstantCandidates() local
383 std::tie(Itr, Inserted) = ConstCandMap.try_emplace(Cand); in collectConstantCandidates()
440 ConstPtrUnionType Cand = ConstExpr; in collectConstantCandidates() local
441 std::tie(Itr, Inserted) = ConstCandMap.try_emplace(Cand); in collectConstantCandidates()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DGCNSchedStrategy.cpp199 void GCNSchedStrategy::initCandidate(SchedCandidate &Cand, SUnit *SU, in initCandidate() argument
205 Cand.SU = SU; in initCandidate()
206 Cand.AtTop = AtTop; in initCandidate()
290 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::VGPR_32); in initCandidate()
291 Cand.RPDelta.Excess.setUnitInc(NewVGPRPressure - VGPRExcessLimit); in initCandidate()
296 Cand.RPDelta.Excess = PressureChange(AMDGPU::RegisterPressureSets::SReg_32); in initCandidate()
297 Cand.RPDelta.Excess.setUnitInc(NewSGPRPressure - SGPRExcessLimit); in initCandidate()
311 Cand.RPDelta.CriticalMax = in initCandidate()
313 Cand.RPDelta.CriticalMax.setUnitInc(SGPRDelta); in initCandidate()
315 Cand.RPDelta.CriticalMax = in initCandidate()
[all …]
H A DSIMachineScheduler.cpp141 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 DSIMachineScheduler.h202 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 DGCNSchedStrategy.h51 SchedCandidate &Cand, bool IsBottomUp);
53 void initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop,
148 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand,
159 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand,
H A DGCNMinRegStrategy.cpp123 auto &Cand = *I++; in findMax() local
124 RQ.remove(Cand); in findMax()
125 RQ.push_front(Cand); in findMax()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineScheduler.cpp3413 void GenericSchedulerBase::traceCandidate(const SchedCandidate &Cand) { in traceCandidate() argument
3417 switch (Cand.Reason) { in traceCandidate()
3421 P = Cand.RPDelta.Excess; in traceCandidate()
3424 P = Cand.RPDelta.CriticalMax; in traceCandidate()
3427 P = Cand.RPDelta.CurrentMax; in traceCandidate()
3430 ResIdx = Cand.Policy.ReduceResIdx; in traceCandidate()
3433 ResIdx = Cand.Policy.DemandResIdx; in traceCandidate()
3436 Latency = Cand.SU->getDepth(); in traceCandidate()
3439 Latency = Cand.SU->getHeight(); in traceCandidate()
3442 Latency = Cand.SU->getHeight(); in traceCandidate()
[all …]
H A DRegAllocGreedy.cpp861 bool RAGreedy::growRegion(GlobalSplitCandidate &Cand) { in growRegion() argument
864 SmallVectorImpl<unsigned> &ActiveBlocks = Cand.ActiveBlocks; in growRegion()
899 if (Cand.PhysReg) { in growRegion()
900 if (!addThroughConstraints(Cand.Intf, NewBlocks)) in growRegion()
940 bool RAGreedy::calcCompactRegion(GlobalSplitCandidate &Cand) { in calcCompactRegion() argument
946 Cand.reset(IntfCache, MCRegister::NoRegister); in calcCompactRegion()
952 SpillPlacer->prepare(Cand.LiveBundles); in calcCompactRegion()
956 if (!addSplitConstraints(Cand.Intf, Cost)) { in calcCompactRegion()
961 if (!growRegion(Cand)) { in calcCompactRegion()
968 if (!Cand.LiveBundles.any()) { in calcCompactRegion()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64MachineScheduler.cpp61 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 DAArch64MachineScheduler.h27 bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand) override;
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaOverload.cpp1735 for (OverloadCandidateSet::iterator Cand = Conversions.begin(); in TryUserDefinedConversion() local
1736 Cand != Conversions.end(); ++Cand) in TryUserDefinedConversion()
1737 if (Cand->Best) in TryUserDefinedConversion()
1738 ICS.Ambiguous.addConversion(Cand->FoundDecl, Cand->Function); in TryUserDefinedConversion()
5244 for (OverloadCandidateSet::iterator Cand = CandidateSet.begin(); in FindConversionForRefInit() local
5245 Cand != CandidateSet.end(); ++Cand) in FindConversionForRefInit()
5246 if (Cand->Best) in FindConversionForRefInit()
5247 ICS.Ambiguous.addConversion(Cand->FoundDecl, Cand->Function); in FindConversionForRefInit()
10437 for (OverloadCandidateSet::iterator Cand = CandidateSet.begin(), in AddArgumentDependentLookupCandidates() local
10439 Cand != CandEnd; ++Cand) in AddArgumentDependentLookupCandidates()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineScheduler.h1207 void traceCandidate(const SchedCandidate &Cand);
1218 GenericSchedulerBase::SchedCandidate &Cand,
1222 GenericSchedulerBase::SchedCandidate &Cand,
1225 GenericSchedulerBase::SchedCandidate &Cand,
1230 GenericSchedulerBase::SchedCandidate &Cand,
1300 void initCandidate(SchedCandidate &Cand, SUnit *SU, bool AtTop,
1304 virtual bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand,
1379 virtual bool tryCandidate(SchedCandidate &Cand, SchedCandidate &TryCand);
1381 void pickNodeFromQueue(SchedBoundary &Zone, SchedCandidate &Cand);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DPartialInlining.cpp630 BasicBlock *Cand = OutliningInfo->NonReturnBlock; in computeOutliningInfo() local
631 if (succ_size(Cand) != 2) in computeOutliningInfo()
634 if (HasNonEntryPred(Cand)) in computeOutliningInfo()
637 BasicBlock *Succ1 = *succ_begin(Cand); in computeOutliningInfo()
638 BasicBlock *Succ2 = *(succ_begin(Cand) + 1); in computeOutliningInfo()
645 if (NonReturnBlock->getSinglePredecessor() != Cand) in computeOutliningInfo()
649 OutliningInfo->Entries.push_back(Cand); in computeOutliningInfo()
651 OutliningInfo->ReturnBlockPreds.push_back(Cand); in computeOutliningInfo()
652 Entries.insert(Cand); in computeOutliningInfo()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIRSimilarityIdentifier.cpp1512 for (IRSimilarityCandidate &Cand : CandVec) { in run()
1513 OS << " Function: " << Cand.front()->Inst->getFunction()->getName().str() in run()
1515 if (Cand.front()->Inst->getParent()->getName().str() == "") in run()
1518 OS << Cand.front()->Inst->getParent()->getName().str(); in run()
1520 Cand.frontInstruction()->print(OS); in run()
1522 Cand.backInstruction()->print(OS); in run()
/freebsd/contrib/llvm-project/llvm/include/llvm/ProfileData/
H A DSampleProf.h1123 StringRef Cand(FnName);
1130 auto It = Cand.rfind(Suffix);
1133 auto Dit = Cand.rfind('.');
1135 Cand = Cand.substr(0, It);
1137 return Cand;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DPGOInstrumentation.cpp904 populateEHOperandBundle(VPCandidateInfo &Cand, in populateEHOperandBundle() argument
907 auto *OrigCall = dyn_cast<CallBase>(Cand.AnnotatedInst); in populateEHOperandBundle()
1063 for (VPCandidateInfo Cand : FuncInfo.ValueSites[Kind]) { in instrument() local
1067 IRBuilder<> Builder(Cand.InsertPt); in instrument()
1068 assert(Builder.GetInsertPoint() != Cand.InsertPt->getParent()->end() && in instrument()
1072 if (Cand.V->getType()->isIntegerTy()) in instrument()
1073 ToProfile = Builder.CreateZExtOrTrunc(Cand.V, Builder.getInt64Ty()); in instrument()
1074 else if (Cand.V->getType()->isPointerTy()) in instrument()
1075 ToProfile = Builder.CreatePtrToInt(Cand.V, Builder.getInt64Ty()); in instrument()
1082 populateEHOperandBundle(Cand, BlockColors, OpBundles); in instrument()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLoadStoreOptimizer.cpp186 MachineInstr *MergeOpsUpdate(const MergeCandidate &Cand);
858 MachineInstr *ARMLoadStoreOpt::MergeOpsUpdate(const MergeCandidate &Cand) { in MergeOpsUpdate() argument
859 const MachineInstr *First = Cand.Instrs.front(); in MergeOpsUpdate()
867 for (const MachineInstr *MI : Cand.Instrs) { in MergeOpsUpdate()
899 MachineInstr *LatestMI = Cand.Instrs[Cand.LatestMIIdx]; in MergeOpsUpdate()
909 if (Cand.CanMergeToLSDouble) in MergeOpsUpdate()
912 Cand.Instrs); in MergeOpsUpdate()
913 if (!Merged && Cand.CanMergeToLSMulti) in MergeOpsUpdate()
915 Opcode, Pred, PredReg, DL, Regs, Cand.Instrs); in MergeOpsUpdate()
921 iterator EarliestI(Cand.Instrs[Cand.EarliestMIIdx]); in MergeOpsUpdate()
[all …]
/freebsd/contrib/llvm-project/llvm/utils/TableGen/Common/
H A DCodeGenRegisters.cpp423 for (const CodeGenRegister *Cand : Leads) { in computeSecondarySubRegs() local
425 if (Cand == this || getSubRegIndex(Cand)) in computeSecondarySubRegs()
428 assert(!Cand->ExplicitSubRegs.empty() && in computeSecondarySubRegs()
430 if (Cand->ExplicitSubRegs.size() == 1) in computeSecondarySubRegs()
435 assert(Cand->ExplicitSubRegs[0] == SubReg && "LeadingSuperRegs correct"); in computeSecondarySubRegs()
437 for (CodeGenRegister *SubReg : Cand->ExplicitSubRegs) { in computeSecondarySubRegs()
459 Concat, const_cast<CodeGenRegister *>(Cand)}; in computeSecondarySubRegs()
467 SubReg2Idx.try_emplace(Cand, Concat); in computeSecondarySubRegs()

12