rnk added a comment. I think the key is the self-reference in the LEA instruction:
> ; foo<int> > .seh_proc "??$foo@H@@YAXH@Z" > ... > leaq "??$foo@H@@YAXH@Z"(%rip), %rcx > ... > ; foo<float> > .seh_proc "??$foo@M@@YAXM@Z" > ... > leaq "??$foo@M@@YAXM@Z"(%rip), %rcx > > I think they are not folded because link.exe is smart enough to treat them as > not identical comdat functions. I think we may stop worrying about the ICF > foading kernel stubs. It sounds like the behavior may have changed since D63277 <https://reviews.llvm.org/D63277> was landed, and maybe we don't need it anymore. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112492/new/ https://reviews.llvm.org/D112492 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits