[LLVMdev] Can a name in LLVM assembly language hold two types of value at the same time
nicholas at mxc.ca
Wed Sep 6 20:24:48 PDT 2006
Zhongxing Xu wrote:
> After line 8, %tmp holds a pointer to stack, whose type is int*
> After line 12, %tmp holds a pointer to heap, whose type is sbyte*
Yes, the same name can be used for two different variables of two
different types. It's an annoying quirk, but otherwise harmless. When
reading such code, just keep an eye on the type of each instruction so
that you don't get the two confused.
In your case, there are three variables with the same name: one int*
defined on line 8, one sbyte* on line 12 and one int on line 17. The
sbyte* is only used on line 13 and the int is only used in line 18. The
others are all the int* variable.
More information about the llvm-dev