Fix handling of VEC_COND_EXPR trap tests [PR100284]
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 27 Apr 2021 17:30:36 +0000 (18:30 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 27 Apr 2021 17:30:36 +0000 (18:30 +0100)
commitd0a57b030f1c7df33c6bc3c661d16c9cb79e96dd
treef795bc6ca70c9a3e42e8ec329abb66a32579b101
parent2ae2a45c287d254c2890feff2cca46ed2ddb06ca
Fix handling of VEC_COND_EXPR trap tests [PR100284]

Now that VEC_COND_EXPR has normal unnested operands,
operation_could_trap_p can treat it like any other expression.

This fixes many testsuite ICEs for SVE, but it turns out that none
of the tests in gcc.target/aarch64/sve were affected.  Anyone testing
on non-SVE aarch64 therefore wouldn't have seen it.

gcc/
PR middle-end/100284
* gimple.c (gimple_could_trap_p_1): Remove VEC_COND_EXPR test.
* tree-eh.c (operation_could_trap_p): Handle VEC_COND_EXPR rather
than asserting on it.

gcc/testsuite/
PR middle-end/100284
* gcc.target/aarch64/sve/pr81003.c: New test.
gcc/gimple.c
gcc/testsuite/gcc.target/aarch64/sve/pr81003.c [new file with mode: 0644]
gcc/tree-eh.c