| /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); 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 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 | 2771 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 D | LoopLoadElimination.cpp | 139 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 D | GVNSink.cpp | 713 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 D | RewriteStatepointsForGC.cpp | 2432 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 D | ConstantHoisting.cpp | 382 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 D | GCNSchedStrategy.cpp | 199 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 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 | 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 | GCNSchedStrategy.h | 51 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 D | GCNMinRegStrategy.cpp | 123 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 D | MachineScheduler.cpp | 3413 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 D | RegAllocGreedy.cpp | 861 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 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 | 1735 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 D | MachineScheduler.h | 1207 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 D | PartialInlining.cpp | 630 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 D | IRSimilarityIdentifier.cpp | 1512 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 D | SampleProf.h | 1123 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 D | PGOInstrumentation.cpp | 904 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 D | ARMLoadStoreOptimizer.cpp | 186 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 D | CodeGenRegisters.cpp | 423 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()
|