Hi, I'm trying to write a testcase to reproduce duplicate clone symbols such as in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88297 I started with a testcase that is known to have constprop clones and split it into two object files:
bash-4.2# cat /gcc/src/gcc/testsuite/gcc.dg/lto/independent-cloneids-lto_0.c /* { dg-require-effective-target lto } */ /* { dg-lto-options {{-O3 -fipa-cp -fipa-cp-clone}} } */ /* { dg-lto-do run } */ #include <stdio.h> extern int foo (int arg); extern int bar (int arg); int __attribute__ ((noinline)) foo (int arg) { return 7 * arg; } int __attribute__ ((noinline)) bar (int arg) { return arg * arg; } int main (void) { printf("%d\n", bar (3)); printf("%d\n", bar (4)); printf("%d\n", foo (5)); printf("%d\n", foo (6)); return 0; } bash-4.2# cat /gcc/src/gcc/testsuite/gcc.dg/lto/independent-cloneids-lto_1.c int __attribute__ ((noinline)) foo (int arg) { return 7 * arg; } int __attribute__ ((noinline)) bar (int arg) { return arg * arg; } but now decide_whether_version_node does not call decide_about_value and I don't know enough about ipa/lattices to figure out what's missing. Any help would be appreciated. - Michael
signature.asc
Description: OpenPGP digital signature