diff --git a/gcc/testsuite/gcc.dg/tree-ssa/cselim-5.c b/gcc/testsuite/gcc.dg/tree-ssa/cselim-5.c new file mode 100644 index 00000000000..8d1335f174a --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/cselim-5.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-options "-O1 -fdump-tree-phiopt1" } */ + +int t; +void f(int a, int b, int c, int d) +{ + if (b) + t = 0; + else + t = 0; +} + +/* We should sink/merge the stores and end up with a single BB. */ + +/* { dg-final { scan-tree-dump-times "t = 0;" 1 "phiopt1" } } */ +/* { dg-final { scan-tree-dump-times "preds) == 2 && !optimize_debug) while (cond_if_else_store_replacement_limited (bb1, bb2, bb3)) - ; + cfgchanged = true; } gimple_stmt_iterator gsi;