----- Original Message ----- > else if (is_gimple_call (def_stmt)) > { > + int flags = gimple_call_flags (def_stmt); > + > + /* Don't optimize away calls that have side-effects. */ > + if ((flags & (ECF_CONST|ECF_PURE)) == 0 > + || (flags & ECF_LOOPING_CONST_OR_PURE))
This patch does this computation twice; grepping through the tree for ECF_CONST suggests it's done quite a few more times. Could we get a predicate in gimple.h to encapsulate this? -Nathan