https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90555
Bug ID: 90555 Summary: IPA ICF should compare selected struct cfgloop members Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org CC: marxin at gcc dot gnu.org Target Milestone: --- Consider gcc.target/i386/avx512f-simd-1.c testcase with sed -ie 's/ [23];/ 1/g' IPA ICF happily merges the functions, even when struct cfgloop members say that the loops in there should be vectorized differently. I think IPA ICF should punt if cfgloop simdlen, safelen, can_be_parallel, dont_vectorize, force_vectorize, unroll members are different, and for simduid should verify the there mentioned decl, if it is the corresponding one between the two ILs.