This is the mail archive of the
mailing list for the GCC project.
Re: About the is_gimple_min_invariant predicate
> Passes ought to distinguish GIMPLE values from GIMPLE invariants
> according to context.
Looks like someone already ran into the problem. In tree-ssa-ccp.c:
/* The regular is_gimple_min_invariant does a shallow test of the object.
It assumes that full gimplification has happened, or will happen on the
object. For a value coming from DECL_INITIAL, this is not true, so we
have to be more strict ourselves. */
ccp_decl_initial_min_invariant (tree t)
if (!is_gimple_min_invariant (t))
if (TREE_CODE (t) == ADDR_EXPR)
/* Inline and unroll is_gimple_addressable. */
t = TREE_OPERAND (t, 0);
if (is_gimple_id (t))
if (!handled_component_p (t))