This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch tree-optimization 1/2]: Branch-cost optimizations


-----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-----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]