12.7.2 GIMPLE_ASSIGN

— GIMPLE function: gimple gimple_build_assign (tree lhs, tree rhs)

Build a GIMPLE_ASSIGN statement. The left-hand side is an lvalue
passed in lhs. The right-hand side can be either a unary or
binary tree expression. The expression tree rhs will be
flattened and its operands assigned to the corresponding operand
slots in the new statement. This function is useful when you
already have a tree expression that you want to convert into a
tuple. However, try to avoid building expression trees for the
sole purpose of calling this function. If you already have the
operands in separate trees, it is better to use
gimple_build_assign_with_ops.

This function is similar to gimple_build_assign, but is used to
build a GIMPLE_ASSIGN statement when the operands of the
right-hand side of the assignment are already split into
different operands.

The left-hand side is an lvalue passed in lhs. Subcode is the
tree_code for the right-hand side of the assignment. Op1 and op2
are the operands. If op2 is null, subcode must be a tree_code
for a unary expression.

— GIMPLE function: enum tree_code gimple_assign_rhs_code (gimple g)

Return the code of the expression computed on the RHS of
assignment statement G.