search for: ilist_half_nod

Displaying 6 results from an estimated 6 matches for "ilist_half_nod".

Did you mean: ilist_half_node
2012 Dec 20
2
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello, Thank you for your answer. If I want to use then I have error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy = llvm::Instruction]’ is protected error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible base of ‘llvm::Instruction’ Do you know any other method to access the previous instruction of a terminator instruction? PS: back() is not an optio...
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
...elf (the problem appears for the BB with only one element)? On Thu, Dec 20, 2012 at 12:42 PM, Alexandru Ionut Diaconescu < alexandruionutdiaconescu at gmail.com> wrote: > Hello, > > Thank you for your answer. If I want to use > > then I have > > error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy = > llvm::Instruction]’ is protected > error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible > base of ‘llvm::Instruction’ > > Do you know any other method to access the previous instruction of a > terminator instructio...
2012 Dec 20
1
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
...; > > > > > On Thu, Dec 20, 2012 at 12:42 PM, Alexandru Ionut Diaconescu < > alexandruionutdiaconescu at gmail.com> wrote: > >> Hello, >> >> Thank you for your answer. If I want to use >> >> then I have >> >> error: ‘NodeTy* llvm::ilist_half_node<NodeTy>::getPrev() [with NodeTy = >> llvm::Instruction]’ is protected >> error: ‘llvm::ilist_half_node<llvm::Instruction>’ is not an accessible >> base of ‘llvm::Instruction’ >> >> Do you know any other method to access the previous instruction of a >&g...
2012 Dec 20
0
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
I may be mistaken as I just took a quick look, but in ilist_node the function "getPrevNode()" actually calls a method on the previous node: NodeTy *getPrevNode() { NodeTy *Prev = this->getPrev(); // Check for sentinel. if (!Prev->getNext()) return 0; return Prev; } http://llvm.org/docs/doxygen/html/ilist__node_8h_source.html#l00058 Try checking if
2012 Dec 20
3
[LLVMdev] LLVM segmentation fault / need use Instruction instead of Instruction*
Hello John, I was following your procedures and I isolated the problem. The problem are represented by the basic blocks with only one element. for (Function::iterator II = F.begin(), EE = F.end(); II != EE; ++II, ++ii) { BasicBlock* BB=II; if (BB->getTerminator()) { Instruction* current = BB->getTerminator(); Instruction* previous;
2016 Jul 11
2
[PATCH] D22161: SystemZ: Avoid implicit iterator conversions, NFC
...t;list_iterator<T>" downcasts to "T" on dereference. - However, ilist<T> assumes the sentinel is a full-bodied "T" and uses "T*" for the "next" pointers. In practice consumers override the sentinel traits so that the sentinel is only a "ilist_half_node" (to save space). This means that operator++ invokes UB every time you increment to the end iterator and downcast to "T*" (badness). - MachineInstrBundleIterator::operator MachineInstr*() relies on the member of ilist_iterator<MachineInstr> being an already-downcast MachineIn...