On 3/12/07, Andrea Callia D'Iddio <[EMAIL PROTECTED]> wrote:
Great! thank you! I tested with your code and it works... but I'm
still a bit confused.
Could you help me with this simple example?
Suppose that I obtained a tree structure with the following command:

tree stmt = bsi_stmt (si);

and suppose I want to execute the following task:

For each tree statement t:
  IF t is an assignment, then output variable name

In 4.3 (earlier replace GIMPLE_MODIFY_STMT with MODIFY_EXPR)

if (TREE_CODE (t) == GIMPLE_MODIFY_STMT)
{
tree lhs = TREE_OPERAND (t, 0);
tree rhs = TREE_OPERAND (t, 1);

 print_generic_expr (stderr, lhs, 0);
 print_generic_expr (stderr, rhs, 0);
}
  ELSE IF t is an IF statement then output the IF condition
else if TREE_CODE (t) == COND_EXPR)
{
tree condition = COND_EXPR_COND (t);
print_generic_expr (stderr, condition, 0);
}

  ELSE ...

how can I do this task?

Really, this isn't that hard
Can you give me some reference?

Look at any existing tree-ssa-*.c pass

They all do this in a myriad of ways.

Reply via email to