[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-24 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

Jakub Jelinek  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #7 from Jakub Jelinek  ---
This has been fixed.

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-21 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

--- Comment #6 from CVS Commits  ---
The master branch has been updated by Sebastian Huber :

https://gcc.gnu.org/g:41aacdea55c5d795a7aa195357d966645845d00e

commit r14-5666-g41aacdea55c5d795a7aa195357d966645845d00e
Author: Sebastian Huber 
Date:   Mon Nov 20 15:26:38 2023 +0100

gcov: Fix integer types in gen_counter_update()

This change fixes issues like this:

  gcc.dg/gomp/pr27573.c: In function âmain._omp_fn.0â:
  gcc.dg/gomp/pr27573.c:19:1: error: non-trivial conversion in
âssa_nameâ
 19 | }
| ^
  long int
  long unsigned int
  # .MEM_19 = VDEF <.MEM_18>
  __gcov7.main._omp_fn.0[0] = PROF_time_profile_12;
  during IPA pass: profile
  gcc.dg/gomp/pr27573.c:19:1: internal compiler error: verify_gimple failed

gcc/ChangeLog:

PR middle-end/112634

* tree-profile.cc (gen_assign_counter_update): Cast the unsigned
result type of
__atomic_add_fetch() to the signed counter type.
(gen_counter_update): Fix formatting.

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-21 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

--- Comment #5 from Tobias Burnus  ---
@Kostadin: Sebastian posted a patch at
  https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637451.html
that should be fine as workaround, even if it is not completely correct, cf.
  https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637543.html

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-21 Thread kocelfc at tutanota dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

Kostadin Shishmanov  changed:

   What|Removed |Added

 CC||kocelfc at tutanota dot com

--- Comment #4 from Kostadin Shishmanov  ---
I think I am running into the same thing. Here is my reproducer:

`g++ ApplicationAccessibleWrap.ii -fprofile-generate -pthread`

struct EnumeratedArray {
  EnumeratedArray();
} kFlushTypeNames;



ApplicationAccessibleWrap.ii: In function '(static initializers for
ApplicationAccessibleWrap.ii)':
ApplicationAccessibleWrap.ii:3:18: error: non-trivial conversion in 'ssa_name'
3 | } kFlushTypeNames;
  |  ^
long int
long unsigned int
# .MEM_11 = VDEF <.MEM_10>
__gcov7._GLOBAL__sub_I_kFlushTypeNames[0] = PROF_time_profile_4;
during IPA pass: profile
ApplicationAccessibleWrap.ii:3:18: internal compiler error: verify_gimple
failed
0x1343a3a verify_gimple_in_cfg(function*, bool, bool)
../../gcc/gcc/tree-cfg.cc:5662
0x11ccae4 execute_function_todo
../../gcc/gcc/passes.cc:2088
0x11ccfe2 do_per_function
../../gcc/gcc/passes.cc:1694
0x11ccfe2 do_per_function
../../gcc/gcc/passes.cc:1684
0x11cd03e execute_todo
../../gcc/gcc/passes.cc:2142

Using built-in specs.
COLLECT_GCC=gcc/bin/g++
COLLECT_LTO_WRAPPER=/home/kostadin/gcc/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --enable-languages=c,c++ --disable-bootstrap
--prefix=/home/kostadin/gcc-build/../gcc --disable-nls CFLAGS='-O2 -ggdb'
CXXFLAGS='-O2 -ggdb'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.0 20231121 (experimental) (GCC)

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-20 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

--- Comment #3 from Tobias Burnus  ---
Breakpoint 6, gen_assign_counter_update (gsi=0x7fffcab0,
call=0x77230b48, func=0x7736cb00, result=0x77200b98, name=0x258f5f2
"PROF_time_profile") at ../../../repos/gcc/gcc/tree-profile.cc:247

(gdb) p debug_gimple_stmt(call)
__atomic_add_fetch_8 (&__gcov_time_profiler_counter, 1, 0);

(gdb) p debug_tree(result)
 
BLK

(gdb) p debug_tree(func)
  32
+ ? BUILT_IN_ATOMIC_ADD_FETCH_8:
+ BUILT_IN_ATOMIC_ADD_FETCH_4);
+  gcall *call = gimple_build_call (f, 3, addr, one, relaxed);
+  gen_assign_counter_update (gsi, call, f, result, name);

with the new gen_assign_counter_update:

+  if (result)
+{
+  tree result_type = TREE_TYPE (TREE_TYPE (func));

+  tree tmp = make_temp_ssa_name (result_type, NULL, name);
+  gimple_set_lhs (call, tmp);
+  gsi_insert_after (gsi, call, GSI_NEW_STMT);
+  gassign *assign = gimple_build_assign (result, tmp);
+  gsi_insert_after (gsi, assign, GSI_NEW_STMT);

* * *

Thus, it looks as if f's alias func's 'result_type' is unsigned while the rest
is all signed.

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-20 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

--- Comment #2 from Tobias Burnus  ---
That's r14-5578-ga350a74d6113e3

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-20 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

Tobias Burnus  changed:

   What|Removed |Added

 CC||sebastian.huber@embedded-br
   ||ains.de

--- Comment #1 from Tobias Burnus  ---
Bisecting points to:

commit a350a74d6113e3a84943266eb691275951c109d9 (HEAD)
Author: Sebastian Huber 
Date:   Sat Oct 21 15:52:15 2023 +0200

gcov: Add gen_counter_update()

[Bug middle-end/112634] [14 Regression][OpenMP][-fprofile-generate] ICE in verify_gimple for gcc.dg/gomp/pr27573.c:

2023-11-20 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112634

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org
Summary|[13 |[14
   |Regression][OpenMP][-fprofi |Regression][OpenMP][-fprofi
   |le-generate] ICE in |le-generate] ICE in
   |verify_gimple for   |verify_gimple for
   |gcc.dg/gomp/pr27573.c:  |gcc.dg/gomp/pr27573.c:
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2023-11-20
   Priority|P3  |P1
 Ever confirmed|0   |1
   Target Milestone|--- |14.0