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...