> > { > > tree rhs = gimple_assign_rhs1 (stmt); > > @@ -1584,6 +1585,20 @@ eliminated_by_inlining_prob (gimple stmt > > /* Reads of parameter are expected to be free. */ > > if (unmodified_parm (stmt, inner_rhs)) > > rhs_free = true; > > + /* Match expressions of form &this->field. Those will most > > likely > > + combine with something upstream after inlining. */ > > + else if (TREE_CODE (inner_rhs) == ADDR_EXPR) > > + { > > + tree op = get_base_address (TREE_OPERAND (inner_rhs, 0)); > > + if (TREE_CODE (op) == PARM_DECL) > > + rhs_free = true; > > + else if (TREE_CODE (op) == MEM_REF) > > + { > > + op = get_base_address (TREE_OPERAND (op, 0)); > > Not necessary, just check > > TREE_CODE (op) == SSA_NAME > && unmodif ...
Hmm, right, I can't have non-SSA there. Will fix that, thanks! Honza