[nvptx] Assert fork has at most one join in nvptx_find_par
With the test-case of PR90009 we run into a SIGSEGV in nvptx_neuter_pars, because par->join_insn and par->join_block are NULL. Detect this problem earlier, by adding an assert in nvptx_find_par that asserts that a fork cannot be paired with more than one join. Build and tested on x86_64 with nvptx accelerator enabled. 2019-06-12 Tom de Vries <tdevries@suse.de> PR tree-optimization/90009 * config/nvptx/nvptx.c (nvptx_find_par): Assert fork has at most join. From-SVN: r272189
This commit is contained in:
parent
801b2266de
commit
4b557bcc0d
@ -1,3 +1,8 @@
|
||||
2019-06-12 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
PR tree-optimization/90009
|
||||
* config/nvptx/nvptx.c (nvptx_find_par): Assert fork has at most join.
|
||||
|
||||
2019-06-12 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* ggc-common.c (ggc_prune_overhead_list): Do not sanitize
|
||||
|
@ -3258,6 +3258,7 @@ nvptx_find_par (bb_insn_map_t *map, parallel *par, basic_block block)
|
||||
unsigned mask = UINTVAL (XVECEXP (PATTERN (end), 0, 0));
|
||||
|
||||
gcc_assert (par->mask == mask);
|
||||
gcc_assert (par->join_block == NULL);
|
||||
par->join_block = block;
|
||||
par->join_insn = end;
|
||||
if (nvptx_needs_shared_bcast (mask))
|
||||
|
Loading…
Reference in New Issue
Block a user