[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] copy-propagation breaks beta-contraction i
From: |
Mario Domenech Goulart |
Subject: |
Re: [Chicken-hackers] [PATCH] copy-propagation breaks beta-contraction invariant |
Date: |
Fri, 06 Jul 2012 08:55:35 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
On Fri, 06 Jul 2012 08:57:04 +0200 (CEST) Felix <address@hidden> wrote:
> Copy propagation of local procedure names may re-introduce references
> to contracted procedures, and thus breaks the invariant that
> contracted procedures are only referenced once. With certain code
> patterns (for example in srfi-14-tests.scm as reported by Mario) this
> could cause the compiler to contract infinitely (if the contracted
> code contains propagated references to other contractions).
>
> Now contraction is disabled for variables that are "replacing" (i.e.
> propagated). Once the propagation has taken place a later optimization
> pass will do the contraction.
>
> This should fix #874. This means the srfi-14 tests should compile and
> run properly, so it would be a good idea to add them to the test
> suite.
Thanks, Felix. I have pushed your patch.
I'm gonna check the licensing stuff to see if tests can be added to the
core repo. If they can, I'll provide a patch.
Best wishes.
Mario
--
http://parenteses.org/mario