How to get the value for casting in a bitcast instruction more efficiently?

Hi everyone,

This is a simple question but is there an efficient way to get the value directly from a bitcast instruction?

<result> = bitcast <ty> <value> to <ty2>

For example, if i have 

0x3d61238   %key = alloca [16 x i8], align 16
0x3d612a8   %plain_text = alloca [64 x i8], align 16
0x3d61318   %key1 = bitcast [16 x i8]* %key to i8*

The way i am using is processing all opcodes in %key1, and go back to find %key along the def-use chain. But is there a better way for doing this?

Thanks very much!



If you want to look through bitcasts and other no-op pointer type changes, use Value::stripPointerCasts.