From 9b3c4cedd43378f51aa2ec73a0eeeff1a04a301e Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 13 Feb 2014 11:04:55 +0100 Subject: [PATCH] sqrt and abs are interesting primitives * module/language/cps/effects-analysis.scm: * module/language/tree-il/primitives.scm (*interesting-primitive-names*): (*effect-free-primitives*): Add sqrt and abs. --- module/language/cps/effects-analysis.scm | 4 +++- module/language/tree-il/primitives.scm | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/module/language/cps/effects-analysis.scm b/module/language/cps/effects-analysis.scm index 66e659583..4ca6e9815 100644 --- a/module/language/cps/effects-analysis.scm +++ b/module/language/cps/effects-analysis.scm @@ -417,7 +417,9 @@ ((logand . _) (cause &type-check)) ((logior . _) (cause &type-check)) ((logior . _) (cause &type-check)) - ((lognot . _) (cause &type-check))) + ((lognot . _) (cause &type-check)) + ((sqrt _) (cause &type-check)) + ((abs _) (cause &type-check))) ;; Characters. (define-primitive-effects diff --git a/module/language/tree-il/primitives.scm b/module/language/tree-il/primitives.scm index 2ea56427e..170338425 100644 --- a/module/language/tree-il/primitives.scm +++ b/module/language/tree-il/primitives.scm @@ -48,6 +48,7 @@ = < > <= >= zero? positive? negative? + * - / 1- 1+ quotient remainder modulo ash logand logior logxor lognot + sqrt abs not pair? null? list? symbol? vector? string? struct? number? char? nil? @@ -163,7 +164,7 @@ eq? eqv? equal? = < > <= >= zero? positive? negative? ash logand logior logxor lognot - + * - / 1- 1+ quotient remainder modulo + + * - / 1- 1+ sqrt abs quotient remainder modulo not pair? null? nil? list? symbol? variable? vector? struct? string? number? char?