On Tue, Mar 8, 2011 at 11:04 PM, Jeff Law <l...@redhat.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 03/08/11 11:55, Diego Novillo wrote: >> On 03/08/2011 12:54 PM, Xinliang David Li wrote: >>> Please review the attached patch, it does some simplification of the >>> complicated logical or expressions (x1 or x2 or x3 ...) constructed >>> from control flow analysis into simpler form. >>> >>> Bootstraps and works on s390x for both testcases. >>> >>> Bootstraps on x86-64. Regression testing is on going (it takes forever >>> (whole night already) to finish possibly because the lto test in >>> c-torture ..). >>> >>> Ok for trunk? >> >> As a general comment, do you think we will start adding more and more of >> these special pattern matchers into uninit analysis? I'm wondering how >> much effort should we make into creating something more generic. >> >> Right now it's this pattern, but there may be others. It could grow >> pretty big and ugly. > We have a real problem in that our underlying analysis to eliminate > unexecutable edges is the CFG needs help, particularly for path > sensitive cases. > > Given that I'm seeing a real interest in other analysis that ultimately > have problems similar to those for uninitialized variable analysis, > building too much goo into tree-ssa-uninit doesn't seem like a long term > solution.
True. I've been repeatedly thinking of building some on-the-side CFG with value-numbered predicates to also catch the CFG vs. scalar-code predicate combinations we have. On such on-the-side data structure we could do very aggressive jump-threading just for analysis purposes (experiments when working on separating conditions shows that a PRE-like algorithm could drive this). Thanks, Richard.