Exploit associativity to fold more constants
authorPaul Khuong <pvk@pvk.ca>
Mon, 20 May 2013 15:36:21 +0000 (11:36 -0400)
committerPaul Khuong <pvk@pvk.ca>
Tue, 21 May 2013 02:17:23 +0000 (22:17 -0400)
commit0d8a5fab0a83b5d8b92870dba57dc7b3ebcc89b2
treec5b1bb537774859f88e0886ec974fd455d44ecd8
parent09c78105eabc6bf2b339f421d4ed1df4678003db
Exploit associativity to fold more constants

 * Implement transforms for logand, logior, logxor and logtest to
   detect patterns like (f (f x k1) k2) => (f x (f k1 k2)).

 * Same for + and * of rational values.

 * Similar logic for mask-signed-field: we only need to keep the
   narrowest width.
NEWS
src/compiler/srctran.lisp