-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 11/07/11 07:38, Richard Guenther wrote: > > > The cond_chain stuff should be as we have discussed quite some > time ago on IRC - modeled after tree-affine.c - a "vector" of > predicates of the form [~] A op B, combined using logical AND or > OR (thus, able to represent a disjunctive or conjunctive normal > form). All suitably abstracted so if-conversion, the loop optimizer > and loop number of iteration analysis can use this code (they all > collect a controlling predicate (chain) and try to simplify against > it). Hmm, I've never looked at this code, does it do something similar to simplify_plus_minus?
simplify_plus_minus takes a hunk of nested additions/subtractions, breaks them into components (where subtractions are modeled using addition+negation). The components are held in an array which is repeatedly simplified (combining constants, eliminating unnecessary negations, etc etc). After simpification we re-emit the new, simplified arithmetic? If so, then definitely, we want that kind of structure. Interestingly enough Kenner and I discussed this back in the early 90s before I was capable of doing anything with trees. There was some codegen problem on the PA that would have been significantly helped by regrouping of this nature at the tree level. > You may, for example, want to pick up my (suspended) work on > separating predicate computation from predicate use (or at least > think about whether that's a good idea for the purpose of predicate > optimizations). I certainly see value in in going down this path. jeff -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJOuDXcAAoJEBRtltQi2kC72gAH/22OpgEAQ8e2fRPX2yFb5on3 6HqGb6/4GQCm6GuwaNOxDa6njN1y6/emhDK2cIyF7GzbE5U3ch7kQ5cvHg7pbhAf fpc9nwdlAMw4w22x9J0Gwl8AcI7AG2o2WfHrYMikp6dNrnh1zZwUBmKBeLgW1jOr 4OXmaJFeiVFajprvNnwuNdKyrtVQ4hQZANAVbcJQOlypBAuSzI0HITiQcsJJupvw BNjjNHXo9hm9uuScXPTyRhAbZ+w/lO7fwbyDKB6Bq8tTlsCXhACJ1ngLEZsm+M9P 7+aI+33vmhnWnH2jiNwYjLTi0BXR8ho39hmdf2J6HqaPBcGMtiseXx+zvCtV7/k= =z1R8 -----END PGP SIGNATURE-----