저장소 inst의 피연산자를 반복하여 처리하려고합니다. 나는 이것을하기 위해 프로그래머 매뉴얼을 따르지만 에러가 난다.llvm :: dyn_cast를 사용하여 캐스팅 오류가 발생했습니다.
IR/Use.h : 204 : UserTy의 *의 LLVM :: value_use_iterator : 운영자 *() const를 [UserTy = LLVM :: 사용자] : 어설`U
//x is store instruction pointing to [store i32 5, i32* %a, align 4]
Value *op2 = x->getOperand(1);
for (Value::use_iterator useItr=op2->use_begin(),useEnd=op2->use_end(); useItr!=useEnd;useItr++){
if (Instruction *Inst = dyn_cast_or_null<Instruction>(*useItr))
errs()<<"done";
}
는이 오류 메시지가 & & "끝 반복자를 참조 할 수 없습니다!" '실패했습니다.
캐스팅이 불가능한 경우 dyn_cast는 오류가 아닌 null 포인터를 반환해야합니다. 나는 또한 dyn_cast_or_null을 시도했지만 같은 오류가 발생했습니다.
내가 할 수있는 다른 방법이 있습니까? – rahuL