Add renumber module
[bpt/guile.git] / module / language / cps / effects-analysis.scm
index 46c7e88..87eed03 100644 (file)
 
 ;; Bytevectors.
 (define-primitive-effects
+  ((bytevector-length _) (cause &type-check))
+
   ((bv-u8-ref bv n) (logior (cause &type-check) &bytevector))
   ((bv-s8-ref bv n) (logior (cause &type-check) &bytevector))
   ((bv-u16-ref bv n) (logior (cause &type-check) &bytevector))
   ((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
      (cause &allocation))
     (($ $prompt)
      (cause &prompt))
-    (($ $call)
+    ((or ($ $call) ($ $callk))
      (logior &all-effects-but-bailout (cause &all-effects-but-bailout)))
     (($ $primcall name args)
      (primitive-effects dfg name args))))
         (vector-set!
          effects
          n
-         (match (lookup-cont (cfa-k-sym cfa n) (dfg-cont-table dfg))
+         (match (lookup-cont (cfa-k-sym cfa n) dfg)
            (($ $kargs names syms body)
             (expression-effects (find-expression body) dfg))
            (($ $kreceive arity kargs)