Re: [PATCH] Fix warning breaking profiled bootstrap

2016-09-16 Thread Andi Kleen
On Fri, Sep 16, 2016 at 10:44:34AM -0600, Jeff Law wrote: > On 08/21/2016 02:30 PM, Eric Botcazou wrote: > > > Consider the case where sym1 results in a non-null return value (and > > > initializes neg1/inv1), but sym2 results in a null return value, leaving > > > neg2/inv2 undefined, but cst2 is c

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-09-16 Thread Jeff Law
On 08/21/2016 02:30 PM, Eric Botcazou wrote: Consider the case where sym1 results in a non-null return value (and initializes neg1/inv1), but sym2 results in a null return value, leaving neg2/inv2 undefined, but cst2 is can still be true (ADDR_EXPR with an invariant address comes to mind). Thus

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-21 Thread Eric Botcazou
> Consider the case where sym1 results in a non-null return value (and > initializes neg1/inv1), but sym2 results in a null return value, leaving > neg2/inv2 undefined, but cst2 is can still be true (ADDR_EXPR with an > invariant address comes to mind). > > Thus we can get into these statements: >

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-18 Thread Jeff Law
On 08/11/2016 09:28 PM, Andi Kleen wrote: If sym1 results in a return value that is some useful tree and inv1 is true and cst1 is true via this call: The only way for get_single_symbol to return a non NULL tree is to hit the return at the end -- and that always initializes inv and neg. Right.

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-11 Thread Andi Kleen
> > If sym1 results in a return value that is some useful tree and inv1 > is true and cst1 is true via this call: The only way for get_single_symbol to return a non NULL tree is to hit the return at the end -- and that always initializes inv and neg. And when the return is NULL the && prevents e

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-11 Thread Jeff Law
On 08/08/2016 08:43 PM, Andi Kleen wrote: Ideally we'd have a test that we could more deeply analyze for paths through the CFG that can't be executed. Finding those paths usually both fixes the warning *and* results in better code. Even if we can't fix it now, we can file it away for future wor

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-08 Thread Andi Kleen
> Ideally we'd have a test that we could more deeply analyze for paths > through the CFG that can't be executed. Finding those paths usually > both fixes the warning *and* results in better code. Even if we > can't fix it now, we can file it away for future work It's multiple variables who are d

Re: [PATCH] Fix warning breaking profiled bootstrap

2016-08-08 Thread Jeff Law
On 08/06/2016 09:41 PM, Andi Kleen wrote: From: Andi Kleen This patch fixes an bootstrap error with autoprofiledbootstrap due to uninitiliazed variables, because the compiler cannot figure out they don't need to be initialized in an error path. Just always initialize them. gcc/: 2016-08-06 A

[PATCH] Fix warning breaking profiled bootstrap

2016-08-06 Thread Andi Kleen
From: Andi Kleen This patch fixes an bootstrap error with autoprofiledbootstrap due to uninitiliazed variables, because the compiler cannot figure out they don't need to be initialized in an error path. Just always initialize them. gcc/: 2016-08-06 Andi Kleen * tree-vrp.c (get_singl