search for: def_end

Displaying 12 results from an estimated 12 matches for "def_end".

2012 Jun 13
2
[LLVMdev] Assert in live update from MI scheduler.
On Jun 13, 2012, at 10:49 AM, Sergei Larin <slarin at codeaurora.org> wrote: > So if this early exit is taken: > > // SSA defs do not have output/anti dependencies. > // The current operand is a def, so we have at least one. > if (llvm::next(MRI.def_begin(Reg)) == MRI.def_end()) > return; > > we do not ever get to this point: > > VRegDefs.insert(VReg2SUnit(Reg, SU)); > > But later, when checking for anti dependency for another MI here: > > void ScheduleDAGInstrs::addVRegUseDeps(SUnit *SU, unsigned OperIdx) { > ... > // Add anti...
2012 Jun 13
0
[LLVMdev] Assert in live update from MI scheduler.
...VRegDefDeps(SUnit *SU, unsigned OperIdx) { const MachineInstr *MI = SU->getInstr(); unsigned Reg = MI->getOperand(OperIdx).getReg(); // SSA defs do not have output/anti dependencies. // The current operand is a def, so we have at least one. if (llvm::next(MRI.def_begin(Reg)) == MRI.def_end()) <<<<<<<<<<<<<<<<<< This is what I am missing. See below. return; // Add output dependence to the next nearest def of this vreg. // // Unless this definition is dead, the output dependence should be // transitively redundant wit...
2012 Jun 15
0
[LLVMdev] Post-RA Def/Use Information
...ewhere that I've missed? If not, > is there a better way to find all uses of a defined value post register > allocation? Writing a def/use chain pass would not be hard but if the > information is already there I'd rather avoid that cost. :) Do the MachineRegisterInfo::def_begin/def_end/use_begin/use_end iterators not work on physical registers? --Owen
2012 Jun 13
0
[LLVMdev] Assert in live update from MI scheduler.
...update from MI scheduler. On Jun 13, 2012, at 10:49 AM, Sergei Larin <slarin at codeaurora.org> wrote: So if this early exit is taken: // SSA defs do not have output/anti dependencies. // The current operand is a def, so we have at least one. if (llvm::next(MRI.def_begin(Reg)) == MRI.def_end()) return; we do not ever get to this point: VRegDefs.insert(VReg2SUnit(Reg, SU)); But later, when checking for anti dependency for another MI here: void ScheduleDAGInstrs::addVRegUseDeps(SUnit *SU, unsigned OperIdx) { ... // Add antidependence to the following def of the vreg it uses. V...
2012 Jun 15
3
[LLVMdev] Post-RA Def/Use Information
Looking through TOT sources, I don't see anything that would provide def/use chains (or equivalent information) post register allocation. I would like to write some peeps to clean up various target-specific things but for safety I will need such information. Is such an analysis pass available somewhere that I've missed? If not, is there a better way to find all uses of a defined value
2012 Jun 13
4
[LLVMdev] Assert in live update from MI scheduler.
Andy, Thanks for reply. I was able to trace the problem to the MI DAG dep constructor. See this: SU(0): %vreg1<def> = COPY %vreg10<kill>; IntRegs:%vreg1,%vreg10 # preds left : 0 # succs left : 0 # rdefs left : 1 Latency : 1 Depth : 0 Height : 0 SU(1): %vreg10<def> = LDriw %vreg9<kill>, 0;
2012 Jun 15
2
[LLVMdev] Post-RA Def/Use Information
...9;ve missed? If not, >> is there a better way to find all uses of a defined value post register >> allocation? Writing a def/use chain pass would not be hard but if the >> information is already there I'd rather avoid that cost. :) > Do the MachineRegisterInfo::def_begin/def_end/use_begin/use_end iterators not work on physical registers? > I seem to recall, the last time I used those, that they ended up being a fairly flat list of all definitions and all uses of a physical registers, not all the uses of a particular definition (or vice versa). -- Joshua Cranmer New...
2013 Apr 24
1
[LLVMdev] use of ARM GPRPair register class
...e ARM GPRPair register class in Pre-RA phase. During register allocation, I hit an assertion because the code is not in SSA form: lib/CodeGen/MachineRegisterInfo.cpp:271: llvm::MachineInstr* llvm::MachineRegisterInfo::getVRegDef(unsigned int) const: Assertion `(I.atEnd() || llvm::next(I) == def_end()) && "getVRegDef assumes a single definition or no definition"' failed. The code in lib\CodeGen\MachineRegisterInfo.cpp has information about the virtual register's sub-register been written, but that info is not propagated to getVRegDef. Is it possible/ is there...
2012 Jun 15
0
[LLVMdev] Post-RA Def/Use Information
...not, >>> is there a better way to find all uses of a defined value post register >>> allocation? Writing a def/use chain pass would not be hard but if the >>> information is already there I'd rather avoid that cost. :) >> Do the MachineRegisterInfo::def_begin/def_end/use_begin/use_end iterators not work on physical registers? >> > > I seem to recall, the last time I used those, that they ended up being a > fairly flat list of all definitions and all uses of a physical > registers, not all the uses of a particular definition (or vice versa)...
2012 Jun 02
0
[LLVMdev] DFG of machine functions
I tried debugging it and the issue seems to be in the implementation of MachineInstrIterator.h and the way it interacts with GraphWriter.h functions. I found this by replacing the ( template <> struct GraphTraits<MCDFGraph<MachineFunction*> >) with a similar MCDFGraph based template of CFG similar to the one in MachineFunction.h (similarly replacing the DOTGraphTraits with the
2012 May 31
2
[LLVMdev] DFG of machine functions
Hi, I am trying to generate the DFG of machine functions. Initially, I added a pass to generate the DFG of LLVM IR functions. This was based on the mail thread - http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-September/025582.html. This pass worked fine and I was able to generate DFG of LLVM IR functions. Later, I ported the DFG pass code for machine functions. I ported the InstIterator.h
2017 Aug 22
5
[RFC] mir-canon: A new tool for canonicalizing MIR for cleaner diffing.
Patch for review. On Mon, Aug 21, 2017 at 11:45 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> wrote: > Ping. > > Still working on preparing code for review. Will have a patch for review > ready in the coming days. > > PL > > On Tue, Aug 15, 2017 at 12:06 PM Puyan Lotfi <puyan.lotfi.llvm at gmail.com> > wrote: > >> Hi, >> >> >>