HomeSort by: relevance | last modified time | path
    Searched refs:VReg (Results 1 - 25 of 89) sorted by relevancy

1 2 3 4

  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/
WebAssemblyRegNumbering.cpp 79 LLVM_DEBUG(dbgs() << "Arg VReg " << MI.getOperand(0).getReg()
92 unsigned VReg = Register::index2VirtReg(VRegIdx);
94 if (MRI.use_empty(VReg))
97 if (MFI.isVRegStackified(VReg)) {
98 LLVM_DEBUG(dbgs() << "VReg " << VReg << " -> WAReg "
100 MFI.setWAReg(VReg, INT32_MIN | NumStackRegs++);
103 if (MFI.getWAReg(VReg) == WebAssemblyFunctionInfo::UnusedReg) {
104 LLVM_DEBUG(dbgs() << "VReg " << VReg << " -> WAReg " << CurReg << "\n")
    [all...]
WebAssemblyReplacePhysRegs.cpp 87 unsigned VReg = WebAssembly::NoRegister;
91 if (VReg == WebAssembly::NoRegister) {
92 VReg = MRI.createVirtualRegister(RC);
96 FI->setFrameBaseVreg(VReg);
98 dbgs() << "replacing preg " << PReg << " with " << VReg << " ("
99 << Register::virtReg2Index(VReg) << ")\n";
103 MO.setReg(VReg);
WebAssemblyMachineFunctionInfo.h 40 /// A mapping from CodeGen vreg index to WebAssembly register number.
43 /// A mapping from CodeGen vreg index to a boolean value indicating whether
60 // after it has been replaced by a vreg
98 assert(VarargVreg != -1U && "Vararg vreg hasn't been set");
104 assert(BasePtrVreg != -1U && "Base ptr vreg hasn't been set");
109 assert(FrameBaseVreg != -1U && "Frame base vreg hasn't been set");
124 void stackifyVReg(MachineRegisterInfo &MRI, unsigned VReg) {
125 assert(MRI.getUniqueVRegDef(VReg));
126 auto I = Register::virtReg2Index(VReg);
131 void unstackifyVReg(unsigned VReg) {
    [all...]
WebAssemblyRegColoring.cpp 64 // Compute the total spill weight for VReg.
67 unsigned VReg) {
69 for (MachineOperand &MO : MRI->reg_nodbg_operands(VReg))
101 unsigned VReg = Register::index2VirtReg(I);
102 if (MFI.isVRegStackified(VReg))
105 if (MRI->use_empty(VReg))
108 LiveInterval *LI = &Liveness->getInterval(VReg);
110 LI->setWeight(computeWeight(MRI, MBFI, VReg));
163 LLVM_DEBUG(dbgs() << "Assigning vreg" << Register::virtReg2Index(LI->reg())
164 << " to vreg" << Register::virtReg2Index(New) << "\n")
    [all...]
  /src/external/gpl3/gdb.old/dist/sim/aarch64/
cpustate.h 90 typedef enum VReg
124 } VReg;
286 extern float aarch64_get_FP_half (sim_cpu *, VReg);
287 extern float aarch64_get_FP_float (sim_cpu *, VReg);
288 extern double aarch64_get_FP_double (sim_cpu *, VReg);
289 extern void aarch64_get_FP_long_double (sim_cpu *, VReg, FRegister *);
291 extern void aarch64_set_FP_half (sim_cpu *, VReg, float);
292 extern void aarch64_set_FP_float (sim_cpu *, VReg, float);
293 extern void aarch64_set_FP_double (sim_cpu *, VReg, double);
294 extern void aarch64_set_FP_long_double (sim_cpu *, VReg, FRegister)
    [all...]
cpustate.c 350 aarch64_get_FP_half (sim_cpu *cpu, VReg reg)
366 aarch64_get_FP_float (sim_cpu *cpu, VReg reg)
372 aarch64_get_FP_double (sim_cpu *cpu, VReg reg)
378 aarch64_get_FP_long_double (sim_cpu *cpu, VReg reg, FRegister *a)
387 aarch64_set_FP_half (sim_cpu *cpu, VReg reg, float val)
403 aarch64_set_FP_float (sim_cpu *cpu, VReg reg, float val)
423 aarch64_set_FP_double (sim_cpu *cpu, VReg reg, double val)
442 aarch64_set_FP_long_double (sim_cpu *cpu, VReg reg, FRegister a)
477 aarch64_get_vec_u64 (sim_cpu *cpu, VReg reg, unsigned element)
483 aarch64_get_vec_u32 (sim_cpu *cpu, VReg reg, unsigned element
    [all...]
  /src/external/gpl3/gdb/dist/sim/aarch64/
cpustate.h 90 typedef enum VReg
124 } VReg;
286 extern float aarch64_get_FP_half (sim_cpu *, VReg);
287 extern float aarch64_get_FP_float (sim_cpu *, VReg);
288 extern double aarch64_get_FP_double (sim_cpu *, VReg);
289 extern void aarch64_get_FP_long_double (sim_cpu *, VReg, FRegister *);
291 extern void aarch64_set_FP_half (sim_cpu *, VReg, float);
292 extern void aarch64_set_FP_float (sim_cpu *, VReg, float);
293 extern void aarch64_set_FP_double (sim_cpu *, VReg, double);
294 extern void aarch64_set_FP_long_double (sim_cpu *, VReg, FRegister)
    [all...]
cpustate.c 350 aarch64_get_FP_half (sim_cpu *cpu, VReg reg)
366 aarch64_get_FP_float (sim_cpu *cpu, VReg reg)
372 aarch64_get_FP_double (sim_cpu *cpu, VReg reg)
378 aarch64_get_FP_long_double (sim_cpu *cpu, VReg reg, FRegister *a)
387 aarch64_set_FP_half (sim_cpu *cpu, VReg reg, float val)
403 aarch64_set_FP_float (sim_cpu *cpu, VReg reg, float val)
423 aarch64_set_FP_double (sim_cpu *cpu, VReg reg, double val)
442 aarch64_set_FP_long_double (sim_cpu *cpu, VReg reg, FRegister a)
477 aarch64_get_vec_u64 (sim_cpu *cpu, VReg reg, unsigned element)
483 aarch64_get_vec_u32 (sim_cpu *cpu, VReg reg, unsigned element
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/
SwiftErrorValueTracking.cpp 37 auto VReg = MF->getRegInfo().createVirtualRegister(RC);
38 VRegDefMap[Key] = VReg;
39 VRegUpwardsUse[Key] = VReg;
40 return VReg;
46 const Value *Val, Register VReg) {
47 VRegDefMap[std::make_pair(MBB, Val)] = VReg;
59 Register VReg = MF->getRegInfo().createVirtualRegister(RC);
60 VRegDefUses[Key] = VReg;
61 setCurrentVReg(MBB, Val, VReg);
62 return VReg;
    [all...]
MIRVRegNamerUtils.cpp 1 //===---------- MIRVRegNamerUtils.cpp - MIR VReg Renaming Utilities -------===//
20 UseStableNamerHash("mir-vreg-namer-use-stable-hash", cl::init(false),
22 cl::desc("Use Stable Hashing for MIR VReg Renaming"));
50 for (const auto &VReg : VRegs) {
51 const unsigned Reg = VReg.getReg();
52 VRM[Reg] = createVirtualRegisterWithLowerName(Reg, GetUniqueVRegName(VReg));
139 unsigned VRegRenamer::createVirtualRegister(unsigned VReg) {
140 assert(Register::isVirtualRegister(VReg) && "Expected Virtual Registers");
141 std::string Name = getInstructionOpcodeHash(*MRI.getVRegDef(VReg));
142 return createVirtualRegisterWithLowerName(VReg, Name)
    [all...]
LiveRangeEdit.cpp 35 Register VReg = MRI.createVirtualRegister(MRI.getRegClass(OldReg));
37 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg));
39 LiveInterval &LI = LIS.createEmptyInterval(VReg);
55 Register VReg = MRI.createVirtualRegister(MRI.getRegClass(OldReg));
57 VRM->setIsSplitFromReg(VReg, VRM->getOriginal(OldReg));
66 LIS.getInterval(VReg).markNotSpillable();
67 return VReg;
411 unsigned VReg = LI->reg();
413 TheDelegate->LRE_WillShrinkVirtReg(VReg);
423 if (VReg == RegsBeingSpilled[i])
    [all...]
MIRVRegNamerUtils.h 2 //===------------ MIRVRegNamerUtils.h - MIR VReg Renaming Utilities -------===//
55 /// the instruction defining that vreg.
67 /// Perform replacing of registers based on the <old,new> vreg map.
70 /// createVirtualRegister - Given an existing vreg, create a named vreg to
73 unsigned createVirtualRegister(unsigned VReg);
75 /// Create a vreg with name and return it.
76 unsigned createVirtualRegisterWithLowerName(unsigned VReg, StringRef Name);
79 /// vreg definition based on the semantics of the instruction.
88 /// will be used as prefix for the vreg names
    [all...]
LiveIntervalUnion.cpp 160 LiveInterval *VReg = LiveUnionI.value();
161 if (VReg != RecentReg && !isSeenInterference(VReg)) {
162 RecentReg = VReg;
163 InterferingVRegs->push_back(VReg);
RegAllocPBQP.cpp 161 /// Finds the initial set of vreg intervals to allocate.
167 /// Spill the given VReg.
168 void spillVReg(Register VReg, SmallVectorImpl<Register> &NewIntervals,
333 Register VReg = G.getNodeMetadata(NId).getVReg();
334 LiveInterval &LI = LIS.getInterval(VReg);
604 Register VReg = Worklist.back();
607 LiveInterval &VRegLI = LIS.getInterval(VReg);
617 const TargetRegisterClass *TRC = MRI.getRegClass(VReg);
623 // Compute an initial allowed set for the current vreg.
654 spillVReg(VReg, NewVRegs, MF, LIS, VRM, VRegSpiller)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
PPCMachineFunctionInfo.cpp 54 bool PPCFunctionInfo::isLiveInSExt(Register VReg) const {
56 if (LiveIn.first == VReg)
61 bool PPCFunctionInfo::isLiveInZExt(Register VReg) const {
63 if (LiveIn.first == VReg)
PPCMachineFunctionInfo.h 238 void addLiveInAttr(Register VReg, ISD::ArgFlagsTy Flags) {
239 LiveInAttrs.push_back(std::make_pair(VReg, Flags));
242 /// This function returns true if the specified vreg is
244 bool isLiveInSExt(Register VReg) const;
246 /// This function returns true if the specified vreg is
248 bool isLiveInZExt(Register VReg) const;
  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
MachineRegisterInfo.h 50 /// registers, including vreg register classes, use/def chains for registers,
72 /// Each element in this list contains the register class of the vreg and the
78 /// Map for recovering vreg name from vreg number.
82 /// StringSet that is used to unique vreg names.
217 bool shouldTrackSubRegLiveness(Register VReg) const {
218 assert(VReg.isVirtual() && "Must pass a VReg");
219 return shouldTrackSubRegLiveness(*getRegClass(VReg));
728 Register cloneVirtualRegister(Register VReg, StringRef Name = "")
    [all...]
RegAllocPBQP.h 93 /// Holds a vector of the allowed physical regs for a vreg.
148 void setNodeIdForVReg(Register VReg, GraphBase::NodeId NId) {
149 VRegToNodeId[VReg.id()] = NId;
152 GraphBase::NodeId getNodeIdForVReg(Register VReg) const {
153 auto VRegItr = VRegToNodeId.find(VReg);
187 OptUnsafeEdges(new unsigned[NumOpts]), VReg(Other.VReg),
202 void setVReg(Register VReg) { this->VReg = VReg; }
    [all...]
ScheduleDAGInstrs.h 57 VReg2SUnit(unsigned VReg, LaneBitmask LaneMask, SUnit *SU)
58 : VirtReg(VReg), LaneMask(LaneMask), SU(SU) {}
69 VReg2SUnitOperIdx(unsigned VReg, LaneBitmask LaneMask,
71 : VReg2SUnit(VReg, LaneMask, SU), OperandIndex(OperandIndex) {}
100 /// vreg use list.
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/GlobalISel/
InstructionSelect.cpp 238 // that the size of the now-constrained vreg is unchanged and that it has a
241 unsigned VReg = Register::index2VirtReg(I);
244 if (!MRI.def_empty(VReg))
245 MI = &*MRI.def_instr_begin(VReg);
246 else if (!MRI.use_empty(VReg))
247 MI = &*MRI.use_instr_begin(VReg);
251 const TargetRegisterClass *RC = MRI.getRegClassOrNull(VReg);
254 "VReg has no regclass after selection", *MI);
258 const LLT Ty = MRI.getType(VReg);
262 "VReg's low-level type and register class have different sizes", *MI)
    [all...]
Utils.cpp 164 // If the operand is a vreg, we should constrain its regclass, and only
270 Optional<APInt> llvm::getConstantVRegVal(Register VReg,
273 getConstantVRegValWithLookThrough(VReg, MRI, /*LookThroughInstrs*/ false);
274 assert((!ValAndVReg || ValAndVReg->VReg == VReg) &&
281 Optional<int64_t> llvm::getConstantVRegSExtVal(Register VReg,
283 Optional<APInt> Val = getConstantVRegVal(VReg, MRI);
290 Register VReg, const MachineRegisterInfo &MRI, bool LookThroughInstrs,
315 while ((MI = MRI.getVRegDef(VReg)) && !IsConstantOpcode(MI->getOpcode()) &&
328 VReg = MI->getOperand(1).getReg()
    [all...]
  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/GlobalISel/
Utils.h 164 /// If \p VReg is defined by a G_CONSTANT, return the corresponding value.
165 Optional<APInt> getConstantVRegVal(Register VReg,
168 /// If \p VReg is defined by a G_CONSTANT fits in int64_t
170 Optional<int64_t> getConstantVRegSExtVal(Register VReg,
177 Register VReg;
179 /// If \p VReg is defined by a statically evaluable chain of
189 getConstantVRegValWithLookThrough(Register VReg, const MachineRegisterInfo &MRI,
193 const ConstantInt *getConstantIntVRegVal(Register VReg,
195 const ConstantFP* getConstantFPVRegVal(Register VReg,
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
SDNodeDbgValue.h 36 VREG = 3 ///< Value is a virtual register.
64 /// Returns the Virtual Register for a VReg
66 assert(kind == VREG);
67 return u.VReg;
76 static SDDbgOperand fromVReg(unsigned VReg) {
77 return SDDbgOperand(VReg, VREG);
92 case VREG:
109 unsigned VReg; ///< Valid for registers.
121 assert((Kind == VREG || Kind == FRAMEIX) &
    [all...]
InstrEmitter.cpp 103 // If the node is only used by a CopyToReg and the dest reg is a vreg, use
104 // the CopyToReg'd destination register instead of creating a new vreg.
208 // is a vreg in the same register class, use the CopyToReg'd destination
209 // register instead of creating a new vreg.
283 Register VReg = MRI->createVirtualRegister(RC);
285 TII->get(TargetOpcode::IMPLICIT_DEF), VReg);
286 return VReg;
309 Register VReg = getVR(Op, VRBaseMap);
317 // shrink VReg's register class within reason. For example, if VReg == GR3
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/MIRParser/
MIRParser.cpp 552 for (const auto &VReg : YamlMF.VirtualRegisters) {
553 VRegInfo &Info = PFS.getVRegInfo(VReg.ID.Value);
555 return error(VReg.ID.SourceRange.Start,
557 Twine(VReg.ID.Value) + "'");
560 if (StringRef(VReg.Class.Value).equals("_")) {
564 const auto *RC = Target->getRegClass(VReg.Class.Value);
569 const RegisterBank *RegBank = Target->getRegBank(VReg.Class.Value);
572 VReg.Class.SourceRange.Start,
574 VReg.Class.Value + "'");
580 if (!VReg.PreferredRegister.Value.empty())
    [all...]

Completed in 78 milliseconds

1 2 3 4