https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82250
--- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> --- I think the example was something like: -------------------- #include <openacc.h> void bogus_fn(); void f() { if (!acc_on_device (acc_device_host)) bogus_fn(); } -------------------- And I do recall that the result for, e.g., gcc -fopenacc -c example.c differed between a GCC with '--enable-offload-targets=nvptx-none,amdgcn-amdhsa' and '--disable-offload-targets' In the debugger, it seemed as if gimple_fold_builtin_acc_on_device would be called twice for the former and with disable only once – and the simplification only happened in the second round. Hence, the goal of the original patch was to ensure that also with --disable-offload-targets the optimization would be done. Obviously, I do not recall the details of the debugging done back then, nor do I feel like rebuilding old versions or trying very hard to come up with more tests. However, I tried it with the current trunk version (for either variant). Result: I can currently NOT REPRODUCE my old issue; namely: * With -O0, both variants (the former also with -foffload={disable,default} and with trying the offload-enabled distro version of GCC 14) give with 'nm': U acc_on_device U bogus_fn 0000000000000000 T f * With -O1, for all variants, only 0000000000000000 T f remains. Thus, it seems to be consistent and there seems to be no issue (or it hides very well).