Displaying 3 results from an estimated 3 matches for "addstackroot".
2010 Sep 25
2
[LLVMdev] Strange exception in SelectionDAGBuilder
...e in
SelectionDAGBuilder.cpp:
*case* *Intrinsic*::gcroot:
*if* (GFI) {
*const* Value *Alloca = I.getArgOperand(0);
*const* Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
* FrameIndexSDNode *FI =
cast<FrameIndexSDNode>(getValue(Alloca).getNode());*
GFI->addStackRoot(FI->getIndex(), TypeMap);
}
*return* 0;
Specifically, the cast from SDNode to FrameIndexSDNode fails because the
node type is DYNAMIC_STACKALLOC, while this code is expecting the node type
to be "FrameIndex" or "TargetFrameIndex". (I don't know what either of the...
2010 Sep 26
0
[LLVMdev] Strange exception in SelectionDAGBuilder
...; *case* *Intrinsic*::gcroot:
>
> *if* (GFI) {
> *const* Value *Alloca = I.getArgOperand(0);
> *const* Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
> * FrameIndexSDNode *FI = cast<FrameIndexSDNode>(getValue(Alloca).getNode());* GFI->addStackRoot(FI->getIndex(), TypeMap);
> }
> *return* 0;
>
> Specifically, the cast from SDNode to FrameIndexSDNode fails because the
> node type is DYNAMIC_STACKALLOC, while this code is expecting the node type
> to be "FrameIndex" or "TargetFrameIndex". (I don&...
2010 Oct 23
2
[LLVMdev] Cast failure in SelectionDAGBuilder
...ilder.cpp. This is the code:
*case* *Intrinsic*::gcroot:
*if* (GFI) {
*const* Value *Alloca = I.getArgOperand(0);
*const* Constant *TypeMap = cast<Constant>(I.getArgOperand(1));
* FrameIndexSDNode *FI =
cast<FrameIndexSDNode>(getValue(Alloca).getNode());*
GFI->addStackRoot(FI->getIndex(), TypeMap);
}
*return* 0
The cast<FrameIndexSDNode> is what's failing. Apparently the node isn't a
FrameIndexSDNode.
Now, we discussed a similar problem on this list earlier, and it was stated
that the cause was due to calls to llvm.gcroot() not being in the...