2016-05-10 21:13 GMT+03:00 H.J. Lu <hjl.to...@gmail.com>: > On Tue, May 10, 2016 at 9:19 AM, Ilya Enkovich <enkovich....@gmail.com> wrote: >> Hi, >> >> Curretly CSE may modify CFG and leave invalid dominance info. This patch >> improves track of CFG changes by CSE passes and frees dominance info if >> required. This allows to remove corresponding workaround from STV pass. >> >> Does it look OK? >> >> Bootstrapped and regtested on x86-64-unknown-linux-gnu. >> > >> diff --git a/gcc/testsuite/gcc.dg/pr70807.c b/gcc/testsuite/gcc.dg/pr70807.c >> new file mode 100644 >> index 0000000..9ef2a4d >> --- /dev/null >> +++ b/gcc/testsuite/gcc.dg/pr70807.c >> @@ -0,0 +1,18 @@ >> +/* PR middle-end/70807 */ >> +/* { dg-do compile } */ >> +/* { dg-options "-O2" } */ >> + >> +typedef int INT; >> +int a, b, c, d, e, f; >> +void fn1() { >> + INT g; >> + if (d && a) >> + ; >> + else if (e && b) >> + ; >> + else if (!a && !b && c) >> + ; >> + else if (b && d || a && e) >> + a = 0; >> + f = g || d; >> +} > > Does this test fail without the fix?
Yes, I creduced it from a libgcc build fail caused by the trigger patch from the tracker. Thanks, Ilya > > -- > H.J.