[LLVMdev] how to get the InvodInst 's Operand Name?
Duncan Sands
baldrick at free.fr
Thu Mar 26 03:51:15 PDT 2009
Hi zhangzw,
>> invoke void @__cxa_throw(i8* %7, i8* bitcast
>> (%struct.__fundamental_type_info_pseudo* @_ZTIi to i8*), void (i8*)*
>> null)
>> noreturn to label %invcont unwind label %lpad
>
> >>are you trying to get the name "@_ZTIi" or "@__cxa_throw"?
>
> yes! i want get the name @_ZTi or @__cxa_throw,
> the latter @__cxa_throw i can get it throw value->getName(), but the
> @_ZTi it did n't has name!
if II is the invoke instruction, you can get the names as follows:
"@__cxa_throw": II->getCalledFunction()->getValueName()
"@_ZTi": II->getOperand(4)->stripPointerCasts()->getValueName()
The first one won't work for indirect calls. The second one
won't work in more complicated situations. Why do you want
the names anyway?
Ciao,
Duncan.
More information about the llvm-dev
mailing list