Hi all,
I have a trouble with LLVM rev - 147926 cast instructions. Here is my code:
…
for(std::vector<Value*>::iterator it = getElementPtrs.begin(); it != getElementPtrs.end(); ++it) {
Value* current = *it;
errs() << current << “\n”;
GetElementPtrInst gep = cast(current);
assert(gep != NULL && “GetElementPtrInst must be valid!”);
…
Program crashes with the above mentioned assertion. Here getElementPtrs is a vector of Values, that are GetElementPtrInst- s. errs() works fine. I’ve also tried to dyn_cast the value, but it doesn’t work too.
Any ideas?
Sincerely,
Hripsime.
Hi Hripsime,
I have a trouble with LLVM rev - 147926 cast instructions. Here is my code:
............
for(std::vector<Value*>::iterator it = getElementPtrs.begin(); it !=
getElementPtrs.end(); ++it) {
Value* current = *it;
errs() << *current << "\n";
GetElementPtrInst* gep = cast<GetElementPtrInst>(current);
assert(gep != NULL && "GetElementPtrInst must be valid!");
............
Program crashes with the above mentioned assertion. Here getElementPtrs is a
vector of Values, that are GetElementPtrInst- s. errs() works fine. I've also
tried to dyn_cast the value, but it doesn't work too.
Any ideas?
maybe it's a ConstantExpr getelementptr, rather than a GetElementPtrInst?
Ciao, Duncan.