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.

Reply via email to