-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09/27/11 09:00, Richard Guenther wrote: >> The thing to remember is jump threading is tasked detecting >> cases where the control statement has a predetermined destination >> utilizing path sensitive information. Expanding it to do >> general path sensitive optimizations is possible, but at even >> greater cost. > > Yeah, I realize that. It's just this case is the non-cfg form of > > if (pretmp) if (D.1234) ... > > where jump-threading would probably handle the CFG variant just > fine. Possibly. I haven't looked at the RTL version in a long long time, but it's still around cfgcleanup::thread_jump. I've been meaning to do some final experiments and declare that code as effectively dead (yes, it still does stuff, but not much, at least not last time I looked).
WRT generalized path sensitive optimizations, the best work I've seen in the space is from Bodik. I've been wanting to play with some of his ideas for path isolation to simplify our current jump threading implementation. In theory, if that experiment works out we could utilize that infrastructure to implement other path sensitive analysis and optimization. Obviously, that's a ways out. jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOgefZAAoJEBRtltQi2kC7JDEH+gOr0BWdN/Ru9oE7Fng1SJvX adH9HnT0PhVhvbZQuF9Ag3HYYFOZumNgEI5HU2s3gPaFNU/KuUMcCBAD7V/1748P L4soNu/dyHVZnKFtjx8MKEe9Jc+UMIvfdjewlsGHjzyBoXDIDaqzqQGmBLtM9MjK gV/tKzdeYz0TB4QMKb27RIBtrZn+l6Ur6IC/PJBxB6qrimvxbet8qxgj+0RDf5XE QSvCTS77QbfSw8k/5X1ag2lRKSZqX15w+p2b7S60XdvVd4pcIcyYKvyMDUcGy2hl PEay76+XyFsO8bCcLg69i+UirBrfceE2CVzYYkMfsPxh2RgBViluTveeybblkLs= =kkAA -----END PGP SIGNATURE-----