aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-walk.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/gimple-walk.c')
-rw-r--r--gcc/gimple-walk.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/gimple-walk.c b/gcc/gimple-walk.c
index 15cd842..be501c5 100644
--- a/gcc/gimple-walk.c
+++ b/gcc/gimple-walk.c
@@ -100,9 +100,6 @@ walk_gimple_asm (gasm *stmt, walk_tree_fn callback_op,
noutputs = gimple_asm_noutputs (stmt);
oconstraints = (const char **) alloca ((noutputs) * sizeof (const char *));
- if (wi)
- wi->is_lhs = true;
-
for (i = 0; i < noutputs; i++)
{
op = gimple_asm_output_op (stmt, i);
@@ -114,6 +111,8 @@ walk_gimple_asm (gasm *stmt, walk_tree_fn callback_op,
&allows_reg, &is_inout))
wi->val_only = (allows_reg || !allows_mem);
}
+ if (wi)
+ wi->is_lhs = true;
ret = walk_tree (&TREE_VALUE (op), callback_op, wi, NULL);
if (ret)
return ret;
@@ -182,6 +181,9 @@ walk_gimple_op (gimple *stmt, walk_tree_fn callback_op,
unsigned i;
tree ret = NULL_TREE;
+ if (wi)
+ wi->stmt = stmt;
+
switch (gimple_code (stmt))
{
case GIMPLE_ASSIGN: