On 12/20/2016 09:16 AM, Richard Biener wrote:
You do not handle memory or calls conservatively which means the existing
testcase only needs some obfuscation to become a problem again. To fix
that before /* Check that any SSA names used to define NAME is also fully
defined. */ bail out conservatively, like
if (! is_gimple_assign (def)
|| gimple_assign_single_p (def))
return true;
I understand the !is_gimple_assign, which will skip over GIMPLE_CALLs
setting a value, but the "gimple_assign_single_p(def) == true"??
Won't this last one bail on things like e.3_7 = e, or x_77 = y_88?
Don't we want to follow up the def chain precisely on these?
Thanks.
Aldy