Thanks folks, this is a very nice improvement. I've applied a combination of these two patches that includes the C_i_foreign_integer_argumentp case but leaves the fallback behaviour alone. As Lemon says, this pass doesn't do unions so we can't "reduce" r1 and instead just pass it through.
I suppose now would be a good time to discuss whether we should (1) add any warnings to this pass, for example when one of these FFI arguments is known to have the wrong type, and (2) try to enable the pass for optimization levels < 5, as both lfa2 and clustering are disabled with "XXX" annotations in chicken.scm. Thoughts? Evan _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers