<div dir="ltr">Hi <div><br></div><div>I know that a virtual call looks like this :</div><div><br></div><div>  %4 = load %class.base*, %class.base** %1, align 8<br>  %5 = bitcast %class.base* %4 to void (%class.base*)***<br>  %6 = load void (%class.base*)**, void (%class.base*)*** %5, align 8<br>  %7 = getelementptr inbounds void (%class.base*)*, void (%class.base*)** %6, i64 0<br>  %8 = load void (%class.base*)*, void (%class.base*)** %7, align 8<br>  call void %8(%class.base* %4)<br></div><div><br></div><div>There may be some action to get function pointer on vtable .</div><div><br></div><div>But, when I scan a llvm ir file, if I just see a CallInst and it is an indirect call</div><div><br></div><div>Is there any way to know whether the CallInst is a virtual call or not ?</div><div><br></div><div>Thank you~</div><div><br></div></div>