Types of operands of an Instruction

Hi,

I am trying to implement GVN which requires processing of operands of an Instruction.

When I started to design, I assumed operands of an Instruction are of type Instruction. But now I would like to extend to operands of other types.

I would like to know what are the other possibilities for the Type of an operand of an Instruction.

Regards,

Hi Rekha,

I would like to know what are the other possibilities for the Type of an
operand of an Instruction.

A good place to start would be the class hierarchy diagram here:
http://llvm.org/docs/doxygen/html/classllvm_1_1Value.html. It looks
like all of those Values are potential operands to an instruction (in
the right circumstances: MDNodes & MDStrings are rare, but exist for
some intrinsics I believe).

The main oddity is that the "Argument" sub-hierarchy doesn't really
exist as a separate, but is there so that people can deal with
Instructions and ConstantExprs in a uniform way.

Cheers.

Tim.