re PR tree-optimization/83605 (ICE: verify_gimple failed (error: dead STMT in EH table))
PR tree-optimization/83605 * gimple-ssa-strength-reduction.c: Include tree-eh.h. (find_candidates_dom_walker::before_dom_children): Ignore stmts that can throw. * gcc.dg/pr83605.c: New test. From-SVN: r256274
This commit is contained in:
parent
64b371b1b5
commit
bef52a6895
|
@ -1,3 +1,10 @@
|
|||
2018-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/83605
|
||||
* gimple-ssa-strength-reduction.c: Include tree-eh.h.
|
||||
(find_candidates_dom_walker::before_dom_children): Ignore stmts that
|
||||
can throw.
|
||||
|
||||
2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration.
|
||||
|
|
|
@ -55,6 +55,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
#include "params.h"
|
||||
#include "tree-ssa-address.h"
|
||||
#include "tree-affine.h"
|
||||
#include "tree-eh.h"
|
||||
#include "builtins.h"
|
||||
|
||||
/* Information about a strength reduction candidate. Each statement
|
||||
|
@ -1747,6 +1748,9 @@ find_candidates_dom_walker::before_dom_children (basic_block bb)
|
|||
{
|
||||
gimple *gs = gsi_stmt (gsi);
|
||||
|
||||
if (stmt_could_throw_p (gs))
|
||||
continue;
|
||||
|
||||
if (gimple_vuse (gs) && gimple_assign_single_p (gs))
|
||||
slsr_process_ref (gs);
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2018-01-05 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/83605
|
||||
* gcc.dg/pr83605.c: New test.
|
||||
|
||||
2018-01-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/83554
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
/* PR tree-optimization/83605 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O1 -ftrapv -fexceptions -fnon-call-exceptions" } */
|
||||
|
||||
int a;
|
||||
|
||||
int
|
||||
foo (int x)
|
||||
{
|
||||
int b = a;
|
||||
{
|
||||
int c;
|
||||
int *d = (x == 0) ? &c : &b;
|
||||
|
||||
for (a = 0; a < 2; ++a)
|
||||
c = (x + b) < a;
|
||||
|
||||
return *d;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue