https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65270
--- Comment #18 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Here is summary of my current understanding of remaining issues from my last weekend's audit. ICF specific: - ipa-icf-gimple.c needs to match dependence analysis Richard has propsed a patch for it, so I hope he will commit it tomorrow. - restrict flag may need to be matched when considering two references to variables being equal. Here I am waiting for Richards comment. I would propose matching restricts in compare_cgraph_references same way as we now compare vtables. non-ICF specific wrong codes - tree-vectorizer is picking up wrong alignment - fold-const.c's operands_equal_p probably needs same treatment for comparing mem-ref as ipa-icf-gimple has. I think in all cases one can construct testcase where tree-tail-merge would produce same incorrect merging as ipa-icf does. stuff that can wait for next stage1 - ipa-pure-const is probably wrong to check TYPE_NEEDS_CONSTRUCTION flag (something to fix for next stage1) - expand_builtin_classify_type can probably be dropped, because fold_classify_type prevails.