HomeSort by: relevance | last modified time | path
    Searched defs:Def (Results 1 - 25 of 83) sorted by relevancy

1 2 3 4

  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
AMDGPUGlobalISelUtils.cpp 18 MachineInstr *Def = getDefIgnoringCopies(Reg, MRI);
19 if (!Def)
22 if (Def->getOpcode() == TargetOpcode::G_CONSTANT) {
24 const MachineOperand &Op = Def->getOperand(1);
34 if (Def->getOpcode() == TargetOpcode::G_ADD) {
36 if (mi_match(Def->getOperand(2).getReg(), MRI, m_ICst(Offset)))
37 return std::make_pair(Def->getOperand(1).getReg(), Offset);
40 if (mi_match(Def->getOperand(2).getReg(), MRI, m_Copy(m_ICst(Offset))))
41 return std::make_pair(Def->getOperand(1).getReg(), Offset);
45 if (Def->getOpcode() == TargetOpcode::G_PTRTOINT)
    [all...]
GCNNSAReassign.cpp 201 const MachineInstr *Def = MRI->getUniqueVRegDef(Reg);
203 if (Def && Def->isCopy() && Def->getOperand(1).getReg() == PhysReg)
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/
WebAssemblyLowerBrUnless.cpp 77 MachineInstr *Def = MRI.getVRegDef(Cond);
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->setDesc(TII.get(LT_U_I32))
    [all...]
WebAssemblyExplicitLocals.cpp 189 MachineInstr *Def = MRI.getVRegDef(Reg);
192 for (auto DefReg : Def->defs()) {
194 return Def;
199 for (MachineOperand &DefMO : Def->explicit_uses()) {
206 return Def;
267 // instructions have two defs, while local.tee instructions have one def
303 for (auto &Def : MI.defs()) {
304 Register OldReg = Def.getReg();
331 Def.setReg(NewReg);
332 Def.setIsDead(false)
    [all...]
WebAssemblyRegisterInfo.cpp 96 MachineInstr *Def = MF.getRegInfo().getUniqueVRegDef(OtherMOReg);
98 // the CONST_I32/64 happens to have exactly one def and one use. We
100 if (Def && Def->getOpcode() ==
102 MRI.hasOneNonDBGUse(Def->getOperand(0).getReg())) {
103 MachineOperand &ImmMO = Def->getOperand(1);
  /src/external/apache2/llvm/dist/llvm/lib/TableGen/
JSONBackend.cpp 76 if (auto *Def = dyn_cast<DefInit>(&I)) {
77 obj["kind"] = "def";
78 obj["def"] = Def->getDef()->getName();
126 // each def, but we also want to ensure we store an empty list for a
139 auto &Def = *D.second;
144 for (const RecordVal &RV : Def.getValues()) {
145 if (!Def.isTemplateArg(RV.getNameInit())) {
156 for (const auto &SuperPair : Def.getSuperClasses())
161 obj["!anonymous"] = Def.isAnonymous()
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/ToolDrivers/llvm-dlltool/
DlltoolDriver.cpp 131 Expected<COFFModuleDefinition> Def =
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))
  /src/external/apache2/llvm/dist/llvm/lib/Analysis/
MemDepPrinter.cpp 31 Def,
69 return InstTypePair(dep.getInst(), Def);
90 = {"Clobber", "Def", "NonFuncLocal", "Unknown"};
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
UnifyLoopExits.cpp 68 // SSA requirement that every def must dominate all its uses. For example,
109 // For each Def used outside the loop, create NewPhi in
110 // LoopExitBlock. NewPhi receives Def only along exiting blocks that
113 auto Def = II.first;
114 LLVM_DEBUG(dbgs() << "externally used: " << Def->getName() << "\n");
115 auto NewPhi = PHINode::Create(Def->getType(), Incoming.size(),
116 Def->getName() + ".moved",
120 if (Def->getParent() == In || DT.dominates(Def, In)) {
122 NewPhi->addIncoming(Def, In)
    [all...]
  /src/external/apache2/llvm/dist/llvm/utils/TableGen/
WebAssemblyDisassemblerEmitter.cpp 33 auto &Def = *CGI.TheDef;
34 if (!Def.getValue("Inst"))
36 auto &Inst = *Def.getValueAsBitsInit("Inst");
55 Def.getValue("StackBased")->getValue()->getCastTo(StringRecTy::get());
73 Def.getValue("IsCanonical")->getValue()->getAsString() == "1";
  /src/external/apache2/llvm/dist/clang/lib/Format/
MacroExpander.cpp 61 Def.Name = Current->TokenText;
64 Def.ObjectLike = false;
71 return Def;
79 Def.Params.push_back(Current);
80 Def.ArgMap[Def.Params.back()->TokenText] = Def.Params.size() - 1;
103 Def.Body.push_back(Current);
106 Def.Body.push_back(Current);
118 Definition Def;
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
LiveInterval.cpp 77 /// value defined at @p Def.
78 /// If @p ForVNI is null, and there is no value defined at @p Def, a new
80 /// If @p ForVNI is null, the return value is the value defined at @p Def,
82 /// If @p ForVNI is not null, then @p Def should be the location where
84 /// @p Def, the value @p ForVNI will be used instead of allocating a new
85 /// one. If the range already has a value defined at @p Def, it must be
87 VNInfo *createDeadDef(SlotIndex Def, VNInfo::Allocator *VNInfoAllocator,
89 assert(!Def.isDead() && "Cannot define a value at the dead slot");
90 assert((!ForVNI || ForVNI->def == Def) &
    [all...]
ReachingDefAnalysis.cpp 1 //===---- ReachingDefAnalysis.cpp - Reaching Def Analysis ---*- C++ -*-----===//
105 // While processing the basic block, we kept `Def` relative to the start
163 int Def = Incoming[Unit];
164 if (Def == ReachingDefDefaultVal)
169 if (*Start >= Def)
172 // Update existing reaching def from predecessor to a more recent one.
173 *Start = Def;
175 // Insert new reaching def from predecessor.
176 MBBReachingDefs[MBBNumber][Unit].insert(Start, Def);
179 // Update reaching def at end of of BB. Keep in mind that these ar
    [all...]
MIRCanonicalizerPass.cpp 215 MachineInstr *Def = II;
222 const unsigned DefLoc = getInstrIdx(*Def);
226 if (UseInst->getParent() != Def->getParent())
247 if (&*BBI == Def) {
268 MultiUsers[UseToBringDefCloserTo].push_back(Def);
RenameIndependentSubregs.cpp 311 // There must be a def (or live-in) before every use. Splitting vregs may
323 SlotIndex Def = VNI.def;
324 MachineBasicBlock &MBB = *Indexes.getMBBFromIndex(Def);
369 // A def of a subregister may be a use of other register lanes. Replacing
370 // such a def with a def of a different register will eliminate the use,
DetectDeadLanes.cpp 74 /// Given a bitmask \p UsedLanes for the used lanes on a def output of a
81 /// mask to the def and put the instruction into the worklist.
87 /// operand \p Def.
88 LaneBitmask transferDefinedLanes(const MachineOperand &Def, unsigned OpNum,
249 const MachineOperand &Def = MI.getOperand(0);
250 Register DefReg = Def.getReg();
280 // FIXME: PATCHPOINT instructions announce a Def that does not always exist,
284 const MachineOperand &Def = *MI.defs().begin();
285 Register DefReg = Def.getReg();
295 DefinedLanes = transferDefinedLanes(Def, OpNum, DefinedLanes)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/IR/
Dominators.cpp 125 // dominates - Return true if Def dominates a use in User. This performs
126 // the special checks necessary if Def and User are in the same basic block.
127 // Note that Def doesn't dominate a use in Def itself!
130 const Instruction *Def = dyn_cast<Instruction>(DefV);
131 if (!Def) {
138 const BasicBlock *DefBB = Def->getParent();
140 // Any unreachable use is dominated, even if Def == User.
149 if (Def == User)
156 if (isa<InvokeInst>(Def) || isa<CallBrInst>(Def) || isa<PHINode>(User)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86WinAllocaExpander.cpp 86 MachineInstr *Def = MRI->getUniqueVRegDef(AmountReg);
88 if (!Def ||
89 (Def->getOpcode() != X86::MOV32ri && Def->getOpcode() != X86::MOV64ri) ||
90 !Def->getOperand(1).isImm())
93 return Def->getOperand(1).getImm();
  /src/external/apache2/llvm/dist/clang/lib/Lex/
PreprocessingRecord.cpp 345 MacroDefinitionRecord *Def) {
346 MacroDefinitions[Macro] = Def;
402 else if (MacroDefinitionRecord *Def = findMacroDefinition(MI))
403 addPreprocessedEntity(new (*this) MacroExpansion(Def, Range));
448 MacroDefinitionRecord *Def =
450 addPreprocessedEntity(Def);
451 MacroDefinitions[MI] = Def;
  /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/
MemoryDependenceAnalysis.h 84 /// that the def may not be the same type as the query, the pointers
89 /// 3. Dependence queries on calls return Def only when they are readonly
93 Def,
121 PointerSumTypeMember<Def, Instruction *>,
133 assert(Inst && "Def requires inst");
134 return MemDepResult(ValueTy::create<Def>(Inst));
156 bool isDef() const { return Value.is<Def>(); }
184 case Def:
185 return Value.cast<Def>();
315 /// Cache storing single nonlocal def for the instruction
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/TableGen/
DirectiveEmitter.h 16 Def = DirectiveLanguages[0];
19 StringRef getName() const { return Def->getValueAsString("name"); }
22 return Def->getValueAsString("cppNamespace");
26 return Def->getValueAsString("directivePrefix");
30 return Def->getValueAsString("clausePrefix");
34 return Def->getValueAsString("clauseEnumSetClass");
38 return Def->getValueAsString("flangClauseBaseClass");
42 return Def->getValueAsBit("makeEnumAvailableInNamespace");
46 return Def->getValueAsBit("enableBitmaskEnumInNamespace");
60 const llvm::Record *Def;
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
AArch64AdvSIMDScalarPass.cpp 209 MachineRegisterInfo::def_instr_iterator Def =
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 =
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 =
304 assert(std::next(Def) == MRI->def_instr_end() && "Multiple def in SSA!")
    [all...]
AArch64CollectLOH.cpp 173 /// Answer the following question: Can Def be one of the definition
399 // def register of the ADD may have a use in between. Adding an LOH in
426 // [x0 = some other def]
431 // [x0 = some other def]
569 const MachineOperand &Def = MI.getOperand(0);
571 assert(Def.isReg() && Def.isDef() && "Expected reg def");
573 int DefIdx = mapRegToGPRIndex(Def.getReg());
  /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/
VPlanValue.h 40 // This is the base class of the VPlan Def/Use graph, used for modeling the data
65 VPDef *Def;
67 VPValue(const unsigned char SC, Value *UV = nullptr, VPDef *Def = nullptr);
107 VPValue(Value *UV = nullptr, VPDef *Def = nullptr)
108 : VPValue(VPValueSC, UV, Def) {}
174 VPDef *getDef() { return Def; }
191 /// This class augments VPValue with operands which provide the inverse def-use
308 V->Def = nullptr;
338 assert(D->Def == this &&
342 D->Def = nullptr
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/GlobalISel/
InlineAsmLowering.cpp 415 // tied operands that can use the regclass information from the def.
436 // Find operand with register def that corresponds to DefIdx.
456 Register Def = Inst->getOperand(DefRegIdx).getReg();
461 // When Def is physreg: use given input.
463 // When Def is vreg: copy input to new vreg with same reg class as Def.
464 if (Def.isVirtual()) {
465 In = MRI->createVirtualRegister(MRI->getRegClass(Def));
470 // Add Flag and input register operand (In) to Inst. Tie In to Def.

Completed in 80 milliseconds

1 2 3 4