Searched refs:Def (Results 1 - 25 of 182) sorted by relevance

12345678

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUGlobalISelUtils.cpp18 MachineInstr *Def = getDefIgnoringCopies(Reg, MRI); local
19 if (!Def)
22 if (Def->getOpcode() == TargetOpcode::G_CONSTANT) {
24 const MachineOperand &Op = Def->getOperand(1);
30 return std::make_tuple(Register(), Offset, Def);
34 if (Def->getOpcode() == TargetOpcode::G_ADD) {
36 if (mi_match(Def->getOperand(2).getReg(), MRI, m_ICst(Offset)))
37 return std::make_tuple(Def->getOperand(1).getReg(), Offset, Def);
40 if (mi_match(Def
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyLowerBrUnless.cpp77 MachineInstr *Def = MRI.getVRegDef(Cond); local
78 switch (Def->getOpcode()) {
81 Def->setDesc(TII.get(NE_I32));
85 Def->setDesc(TII.get(EQ_I32));
89 Def->setDesc(TII.get(LE_S_I32));
93 Def->setDesc(TII.get(LT_S_I32));
97 Def->setDesc(TII.get(GE_S_I32));
101 Def->setDesc(TII.get(GT_S_I32));
105 Def->setDesc(TII.get(LE_U_I32));
109 Def
[all...]
H A DWebAssemblyRegStackify.cpp262 // Test whether Def is safe and profitable to rematerialize.
263 static bool shouldRematerialize(const MachineInstr &Def, AliasAnalysis &AA, argument
265 return Def.isAsCheapAsAMove() && TII->isTriviallyReMaterializable(Def, &AA);
275 if (MachineInstr *Def = MRI.getUniqueVRegDef(Reg))
276 return Def;
278 // MRI doesn't know what the Def is. Try asking LIS.
286 // Test whether Reg, as defined at Def, has exactly one use. This is a
289 static bool hasOneUse(unsigned Reg, MachineInstr *Def, MachineRegisterInfo &MRI, argument
298 LI.getVNInfoAt(LIS.getInstructionIndex(*Def)
318 isSafeToMove(const MachineOperand *Def, const MachineOperand *Use, const MachineInstr *Insert, AliasAnalysis &AA, const WebAssemblyFunctionInfo &MFI, const MachineRegisterInfo &MRI) argument
519 moveForSingleUse(unsigned Reg, MachineOperand &Op, MachineInstr *Def, MachineBasicBlock &MBB, MachineInstr *Insert, LiveIntervals &LIS, WebAssemblyFunctionInfo &MFI, MachineRegisterInfo &MRI) argument
564 rematerializeCheapDef( unsigned Reg, MachineOperand &Op, MachineInstr &Def, MachineBasicBlock &MBB, MachineBasicBlock::instr_iterator Insert, LiveIntervals &LIS, WebAssemblyFunctionInfo &MFI, MachineRegisterInfo &MRI, const WebAssemblyInstrInfo *TII, const WebAssemblyRegisterInfo *TRI) argument
632 moveAndTeeForMultiUse( unsigned Reg, MachineOperand &Op, MachineInstr *Def, MachineBasicBlock &MBB, MachineInstr *Insert, LiveIntervals &LIS, WebAssemblyFunctionInfo &MFI, MachineRegisterInfo &MRI, const WebAssemblyInstrInfo *TII) argument
886 MachineOperand *Def = DefI->findRegisterDefOperand(Reg); local
[all...]
H A DWebAssemblyRegisterInfo.cpp96 MachineInstr *Def = MF.getRegInfo().getUniqueVRegDef(OtherMOReg); local
100 if (Def && Def->getOpcode() ==
102 MRI.hasOneNonDBGUse(Def->getOperand(0).getReg())) {
103 MachineOperand &ImmMO = Def->getOperand(1);
H A DWebAssemblyPrepareForLiveIntervals.cpp66 for (const auto &Def : MRI.def_instructions(Reg))
67 if (WebAssembly::isArgument(Def.getOpcode()))
/freebsd-13-stable/contrib/llvm-project/llvm/utils/TableGen/
H A DExegesisEmitter.cpp52 void emitPfmCountersInfo(const Record &Def,
74 for (Record *Def : Records.getAllDerivedDefinitions("ProcPfmCounters")) {
78 Def->getValueAsListOfDefs("IssueCounters")) {
88 AddPfmCounterName(Def->getValueAsDef("CycleCounter"));
89 AddPfmCounterName(Def->getValueAsDef("UopsCounter"));
107 void ExegesisEmitter::emitPfmCountersInfo(const Record &Def, argument
111 Def.getValueAsDef("CycleCounter")->getValueAsString("Counter");
113 Def.getValueAsDef("UopsCounter")->getValueAsString("Counter");
115 Def.getValueAsListOfDefs("IssueCounters").size();
117 OS << "\nstatic const PfmCountersInfo " << Target << Def
[all...]
H A DWebAssemblyDisassemblerEmitter.cpp33 auto &Def = *CGI.TheDef; local
34 if (!Def.getValue("Inst"))
36 auto &Inst = *Def.getValueAsBitsInit("Inst");
49 Def.getValue("StackBased")->getValue()->getCastTo(StringRecTy::get());
67 Def.getValue("IsCanonical")->getValue()->getAsString() == "1";
H A DCodeGenSchedule.h59 CodeGenSchedRW(unsigned Idx, Record *Def) argument
60 : Index(Idx), TheDef(Def), IsAlias(false), IsVariadic(false) {
61 Name = std::string(Def->getName());
62 IsRead = Def->isSubClassOf("SchedRead");
63 HasVariants = Def->isSubClassOf("SchedVariant");
65 IsVariadic = Def->getValueAsBit("Variadic");
70 IsSequence = Def->isSubClassOf("WriteSequence");
390 void addDefinition(const Record *Def) { Definitions.push_back(Def); } argument
520 CodeGenSchedRW &getSchedRW(Record *Def) {
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/WindowsManifest/
H A DWindowsManifestMerger.cpp127 for (xmlNsPtr Def = Node->nsDef; Def; Def = Def->next) {
128 if (Def->prefix && xmlStringsEqual(Def->href, HRef)) {
129 return Def;
155 if (xmlNsPtr Def = search(HRef, Node))
156 return Def;
157 if (xmlNsPtr Def
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/
H A DPeepholeOptimizer.cpp181 /// Track Def -> Use info used for rewriting copies.
255 RegSubRegPair Def, RewriteMapTy &RewriteMap);
367 const MachineInstr *Def = nullptr;
369 /// The index of the definition in Def.
423 Def = MRI.getVRegDef(Reg);
654 /// retrieve all Def -> Use along the way up to the next source. Any found
694 // Insert the Def -> Use entry for the recently found source.
1107 /// Given a \p Def.Reg and Def.SubReg pair, use \p RewriteMap to find
1109 /// multiple sources for a given \p Def ar
1114 getNewSource(MachineRegisterInfo *MRI, const TargetInstrInfo *TII, RegSubRegPair Def, const PeepholeOptimizer::RewriteMapTy &RewriteMap, bool HandleMultipleSources = true) argument
1225 rewriteSource(MachineInstr &CopyLike, RegSubRegPair Def, RewriteMapTy &RewriteMap) argument
1281 RegSubRegPair Def; local
1669 const auto &Def = NAPhysToVirtMIs.find(Reg); local
1681 unsigned Def = RegMI.first; local
[all...]
H A DReachingDefAnalysis.cpp1 //===---- ReachingDefAnalysis.cpp - Reaching Def Analysis ---*- C++ -*-----===//
104 // While processing the basic block, we kept `Def` relative to the start
162 int Def = Incoming[Unit]; local
163 if (Def == ReachingDefDefaultVal)
168 if (*Start >= Def)
172 *Start = Def;
175 MBBReachingDefs[MBBNumber][Unit].insert(Start, Def);
180 if (MBBOutRegsInfos[MBBNumber][Unit] < Def - NumInsts)
181 MBBOutRegsInfos[MBBNumber][Unit] = Def - NumInsts;
248 for (int Def
[all...]
H A DDetectDeadLanes.cpp90 /// operand \p Def.
91 LaneBitmask transferDefinedLanes(const MachineOperand &Def, unsigned OpNum,
252 const MachineOperand &Def = MI.getOperand(0); local
253 Register DefReg = Def.getReg();
283 // FIXME: PATCHPOINT instructions announce a Def that does not always exist,
287 const MachineOperand &Def = *MI.defs().begin(); local
288 Register DefReg = Def.getReg();
298 DefinedLanes = transferDefinedLanes(Def, OpNum, DefinedLanes);
310 LaneBitmask DetectDeadLanes::transferDefinedLanes(const MachineOperand &Def, argument
312 const MachineInstr &MI = *Def
358 const MachineOperand &Def = *MRI->def_begin(Reg); local
430 const MachineOperand &Def = *UseMI.defs().begin(); local
472 const MachineOperand &Def = MI.getOperand(0); local
514 MachineOperand &Def = *MRI->def_begin(Reg); local
[all...]
H A DMachineCopyPropagation.cpp157 Register Def = MI->getOperand(0).getReg(); local
160 // Remember Def is defined by the copy.
161 for (MCRegUnitIterator RUI(Def, &TRI); RUI.isValid(); ++RUI)
164 // Remember source that's copied to Def. Once it's clobbered, then
169 if (!is_contained(Copy.DefRegs, Def))
170 Copy.DefRegs.push_back(Def);
282 bool eraseIfRedundant(MachineInstr &Copy, unsigned Src, unsigned Def);
329 /// Return true if \p PreviousCopy did copy register \p Src to register \p Def.
331 /// all even though Src and Def are subregisters of the registers used in
336 unsigned Def, cons
335 isNopCopy(const MachineInstr &PreviousCopy, unsigned Src, unsigned Def, const TargetRegisterInfo *TRI) argument
350 eraseIfRedundant(MachineInstr &Copy, unsigned Src, unsigned Def) argument
387 Register Def = Copy.getOperand(0).getReg(); local
564 Register Def = MI->getOperand(0).getReg(); local
736 Register Def = MI.getOperand(0).getReg(); local
775 Register Def = Copy->getOperand(0).getReg(); local
816 Register Def = MI->getOperand(0).getReg(); local
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DUnifyLoopExits.cpp105 // For each Def used outside the loop, create NewPhi in
106 // LoopExitBlock. NewPhi receives Def only along exiting blocks that
109 auto Def = II.first; local
110 LLVM_DEBUG(dbgs() << "externally used: " << Def->getName() << "\n");
111 auto NewPhi = PHINode::Create(Def->getType(), Incoming.size(),
112 Def->getName() + ".moved",
116 if (Def->getParent() == In || DT.dominates(Def, In)) {
118 NewPhi->addIncoming(Def, In);
121 NewPhi->addIncoming(UndefValue::get(Def
[all...]
H A DPredicateInfo.cpp102 // Only one of Def or Use will be set.
103 Value *Def = nullptr; member in struct:llvm::ValueDFS
148 bool isADef = A.Def;
149 bool isBDef = B.Def;
159 if (!VD.Def && VD.U) {
192 bool isADef = A.Def;
193 bool isBDef = B.Def;
194 assert((!A.Def || !A.U) && (!B.Def || !B.U) &&
195 "Def an
222 getDefOrUser(const Value *Def, const Use *U) const argument
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/ToolDrivers/llvm-dlltool/
H A DDlltoolDriver.cpp131 Expected<COFFModuleDefinition> Def = local
134 if (!Def) {
136 << errorToErrorCode(Def.takeError()).message();
142 Def->OutputFile = Arg->getValue();
144 if (Def->OutputFile.empty()) {
156 for (COFFShortExport& E : Def->Exports) {
164 for (COFFShortExport& E : Def->Exports) {
181 writeImportLibrary(Def->OutputFile, Path, Def->Exports, Machine, true))
/freebsd-13-stable/contrib/llvm-project/llvm/lib/MCA/
H A DInstruction.cpp196 if (!all_of(getDefs(), [](const WriteState &Def) { return Def.isReady(); }))
213 [](const WriteState &Def) { return !Def.getDependentWrite(); }))
235 for (WriteState &Def : getDefs())
236 Def.cycleEvent();
244 for (WriteState &Def : getDefs())
245 Def.cycleEvent();
/freebsd-13-stable/contrib/llvm-project/llvm/lib/IR/
H A DDominators.cpp113 // dominates - Return true if Def dominates a use in User. This performs
114 // the special checks necessary if Def and User are in the same basic block.
115 // Note that Def doesn't dominate a use in Def itself!
116 bool DominatorTree::dominates(const Instruction *Def, argument
119 const BasicBlock *DefBB = Def->getParent();
121 // Any unreachable use is dominated, even if Def == User.
130 if (Def == User)
137 if (isa<InvokeInst>(Def) || isa<CallBrInst>(Def) || is
148 dominates(const Instruction *Def, const BasicBlock *UseBB) const argument
251 dominates(const Instruction *Def, const Use &U) const argument
[all...]
/freebsd-13-stable/contrib/llvm-project/compiler-rt/lib/fuzzer/
H A DFuzzerExtFunctionsWindows.cpp48 RETURN_TYPE NAME##Def FUNC_SIG { \
52 EXTERNAL_FUNC(NAME, NAME##Def) RETURN_TYPE NAME FUNC_SIG
73 this->NAME = GetFnPtr<decltype(::NAME)>(::NAME, ::NAME##Def, #NAME, WARN);
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64AdvSIMDScalarPass.cpp209 MachineRegisterInfo::def_instr_iterator Def = local
211 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
212 MachineOperand *MOSrc0 = getSrcFromCopy(&*Def, MRI, SubReg0);
222 MachineRegisterInfo::def_instr_iterator Def = local
224 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
225 MachineOperand *MOSrc1 = getSrcFromCopy(&*Def, MRI, SubReg1);
302 MachineRegisterInfo::def_instr_iterator Def = local
304 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!");
305 MachineOperand *MOSrc0 = getSrcFromCopy(&*Def, MRI, SubReg0);
315 Def
321 MachineRegisterInfo::def_instr_iterator Def = local
[all...]
/freebsd-13-stable/contrib/llvm-project/clang/lib/Lex/
H A DMacroInfo.cpp205 for (DefInfo Def = getDefinition(); Def; Def = Def.getPreviousDefinition()) {
206 if (Def.getLocation().isInvalid() || // For macros defined on the command line.
207 SM.isBeforeInTranslationUnit(Def.getLocation(), L))
208 return (!Def.isUndefined() ||
209 SM.isBeforeInTranslationUnit(L, Def.getUndefLocation()))
210 ? Def : DefInfo();
/freebsd-13-stable/contrib/llvm-project/llvm/lib/TableGen/
H A DJSONBackend.cpp79 if (auto *Def = dyn_cast<DefInit>(&I)) {
81 obj["def"] = Def->getDef()->getName();
142 auto &Def = *D.second; local
147 for (const RecordVal &RV : Def.getValues()) {
148 if (!Def.isTemplateArg(RV.getNameInit())) {
159 for (const auto &SuperPair : Def.getSuperClasses())
164 obj["!anonymous"] = Def.isAnonymous();
169 for (const auto &SuperPair : Def.getSuperClasses()) {
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DLocalizer.h58 /// Check if \p MOUse is used in the same basic block as \p Def.
61 /// block when to insert \p Def to have a local use.
62 static bool isLocalUse(MachineOperand &MOUse, const MachineInstr &Def,
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86WinAllocaExpander.cpp86 MachineInstr *Def = MRI->getUniqueVRegDef(AmountReg); local
88 if (!Def ||
89 (Def->getOpcode() != X86::MOV32ri && Def->getOpcode() != X86::MOV64ri) ||
90 !Def->getOperand(1).isImm())
93 return Def->getOperand(1).getImm();
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/ARM/
H A DA15SDOptimizer.cpp201 MachineInstr *Def = Op->getParent(); local
205 if (DeadInstr.find(Def) != DeadInstr.end())
212 for (MachineOperand &MODef : Def->operands()) {
222 if (&Use == Def)
233 LLVM_DEBUG(dbgs() << "Deleting instruction " << *Def << "\n");
234 DeadInstr.insert(Def);
303 MachineInstr *Def = MRI->getVRegDef(OpReg); local
304 if (!Def)
306 if (Def->isImplicitDef())
346 MachineInstr *Def
606 MachineInstr *Def = MRI->getVRegDef(*I); local
[all...]

Completed in 145 milliseconds

12345678