Bug 85639 - ICE in compiling new test cases added in r259850
Summary: ICE in compiling new test cases added in r259850
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libgomp (show other bugs)
Version: 9.0
: P3 normal
Target Milestone: 9.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code, openacc, patch
Depends on:
Blocks:
 
Reported: 2018-05-03 21:09 UTC by seurer
Modified: 2018-05-04 08:31 UTC (History)
3 users (show)

See Also:
Host: powerpc64*-*-*
Target: powerpc64*-*-*
Build: powerpc64*-*-*
Known to work:
Known to fail:
Last reconfirmed:


Attachments
tentative patch (301 bytes, patch)
2018-05-04 07:22 UTC, Tom de Vries
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description seurer 2018-05-03 21:09:59 UTC
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++11 (internal compiler error)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++11 (test for excess errors)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++14 (internal compiler error)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++14 (test for excess errors)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++98 (internal compiler error)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c  -std=c++98 (test for excess errors)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c (internal compiler error)
> FAIL: c-c++-common/goacc/builtin-goacc-parlevel-id-size.c (test for excess errors)
> FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1  -O2  (internal compiler error)
> FAIL: libgomp.oacc-c++/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1  -O2  (test for excess errors)
> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1  -O2  (internal compiler error)
> FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1  -O2  (test for excess errors)


Executing on host: /home/seurer/gcc/build/gcc-trunk/gcc/xgcc -B/home/seurer/gcc/build/gcc-trunk/gcc/ /home/seurer/gcc/gcc-trunk/libgomp/testsuite/libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c  -B/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/ -B/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/.libs -I/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp -I/home/seurer/gcc/gcc-trunk/libgomp/testsuite/../../include -I/home/seurer/gcc/gcc-trunk/libgomp/testsuite/.. -fmessage-length=0 -fno-diagnostics-show-caret -Wno-hsa -fdiagnostics-color=never -fopenacc -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1  -O2  -fopenacc-dim=32   -L/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/.libs -lm   -o ./loop-auto-1.exe    (timeout = 300)
spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-trunk/gcc/xgcc -B/home/seurer/gcc/build/gcc-trunk/gcc/ /home/seurer/gcc/gcc-trunk/libgomp/testsuite/libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c -B/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/ -B/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/.libs -I/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp -I/home/seurer/gcc/gcc-trunk/libgomp/testsuite/../../include -I/home/seurer/gcc/gcc-trunk/libgomp/testsuite/.. -fmessage-length=0 -fno-diagnostics-show-caret -Wno-hsa -fdiagnostics-color=never -fopenacc -DACC_DEVICE_TYPE_host=1 -DACC_MEM_SHARED=1 -O2 -fopenacc-dim=32 -L/home/seurer/gcc/build/gcc-trunk/powerpc64-unknown-linux-gnu/./libgomp/.libs -lm -o ./loop-auto-1.exe
during RTL pass: expand
/home/seurer/gcc/gcc-trunk/libgomp/testsuite/libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c: In function 'place':
/home/seurer/gcc/gcc-trunk/libgomp/testsuite/libgomp.oacc-c/../libgomp.oacc-c-c++-common/loop-auto-1.c:80:7: internal compiler error: Segmentation fault
0x109992cb crash_signal
	/home/seurer/gcc/gcc-trunk/gcc/toplev.c:325
0x10561c54 emit_move_insn(rtx_def*, rtx_def*)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:3719
0x103990eb expand_builtin_goacc_parlevel_id_size
	/home/seurer/gcc/gcc-trunk/gcc/builtins.c:6687
0x103b745f expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int)
	/home/seurer/gcc/gcc-trunk/gcc/builtins.c:7830
0x1055cb6b expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:11008
0x105741e3 expand_expr
	/home/seurer/gcc/gcc-trunk/gcc/expr.h:280
0x105741e3 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:8482
0x1055bb03 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:11295
0x1056b173 expand_expr
	/home/seurer/gcc/gcc-trunk/gcc/expr.h:280
0x1056b173 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool, tree_node*)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:5546
0x1056d29f expand_assignment(tree_node*, tree_node*, bool)
	/home/seurer/gcc/gcc-trunk/gcc/expr.c:5406
0x103e432f expand_call_stmt
	/home/seurer/gcc/gcc-trunk/gcc/cfgexpand.c:2688
0x103e432f expand_gimple_stmt_1
	/home/seurer/gcc/gcc-trunk/gcc/cfgexpand.c:3624
0x103e432f expand_gimple_stmt
	/home/seurer/gcc/gcc-trunk/gcc/cfgexpand.c:3790
0x103eaf07 expand_gimple_basic_block
	/home/seurer/gcc/gcc-trunk/gcc/cfgexpand.c:5819
0x103ee187 execute
	/home/seurer/gcc/gcc-trunk/gcc/cfgexpand.c:6425
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
compiler exited with status 1
Comment 1 Tom de Vries 2018-05-04 07:22:40 UTC
Created attachment 44065 [details]
tentative patch

Using this patch, we generate:
...
(insn 5 2 6 2 (set (reg:SI 128)
	(const_int 0 [0])) "loop-auto-1.c":80 -1
     (nil))
(insn 6 5 7 2 (set (reg/v:DI 124 [ g+-4 ])
	(sign_extend:DI (reg:SI 128))) "loop-auto-1.c":80 -1
     (nil))
...
for:
...
  g_6 = __builtin_goacc_parlevel_id (0);
...
Comment 3 Tom de Vries 2018-05-04 08:29:40 UTC
Author: vries
Date: Fri May  4 08:29:08 2018
New Revision: 259927

URL: https://gcc.gnu.org/viewcvs?rev=259927&root=gcc&view=rev
Log:
[expand] Handle null target in expand_builtin_goacc_parlevel_id_size

2018-05-04  Tom de Vries  <tom@codesourcery.com>

	PR libgomp/85639
	* builtins.c (expand_builtin_goacc_parlevel_id_size): Handle null target
	if ignore == 0.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/builtins.c
Comment 4 Tom de Vries 2018-05-04 08:31:38 UTC
Patch committed, no need for extra test-cases, marking resolved-fixed.