Extracting operand name and value from GIMPLE assignment statements

Ian Lance Taylor iant@google.com
Tue Dec 10 02:14:00 GMT 2013


On Mon, Dec 9, 2013 at 3:05 PM, Sandeep K Chaudhary
<babbusandy2006@gmail.com> wrote:
>
> I am writing a GCC plugin in which I need to extract the variable name
> and the assigned value from the statements.
>
> I am able to get the three operands from GIMPLE statements like this
>
>         if(is_gimple_assign(stmt)) {
>                 tree lhsop = gimple_assign_lhs(stmt);
>                 tree rhsop1 = gimple_assign_rhs1(stmt);
>                 tree rhsop2 = gimple_assign_rhs2(stmt);
>          }
>
> I want to get the exact variable name from lhsop and value from rhsop1
> (for statements such as
> "var = value;", rhsop2 is 0 for such statements.). Some pointers to
> example code or documentation would be great.

Can you expand on what you mean by the variable name?  GCC freely
introduces and discards variables in GIMPLE.  Many GIMPLE variables do
not have any meaningful name.

Ian



More information about the Gcc-help mailing list