More complicated TYPEP tests are marginally transparent to type propagation
authorPaul Khuong <pvk@pvk.ca>
Thu, 24 Oct 2013 02:36:17 +0000 (22:36 -0400)
committerPaul Khuong <pvk@pvk.ca>
Mon, 4 Nov 2013 17:36:07 +0000 (12:36 -0500)
Expansions for TYPEP are wrapped in %typep-wrapper, a fancy identity. The
additional arguments track what value is being tested for what type, which
helps inform constraint propagation, as well as detecting redundant type
tests.

Such a wrapper is a hindrance to lower level control flow rewriting that are
essential for decent code generation. After a single pass of constraint
propagation, the wrapper evaporates and the TYPEP expansion becomes as opaque
as it is now.


No differences found