X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fpolicies.lisp;h=3295a6cce07878a71aab90422b5065726e225398;hb=079ef9dad558ca07cb8178ef428bf738112174fa;hp=c55e3a62e42a483c0db3db09501377bb09252322;hpb=942e5de3f3e27e1cc6ae4aae69c040fa1dc7db00;p=sbcl.git diff --git a/src/compiler/policies.lisp b/src/compiler/policies.lisp index c55e3a6..3295a6c 100644 --- a/src/compiler/policies.lisp +++ b/src/compiler/policies.lisp @@ -23,6 +23,11 @@ (t 2)) ("no" "maybe" "fast" "full")) +(define-optimization-quality check-tag-existence + (cond ((= safety 0) 0) + (t 3)) + ("no" "maybe" "yes" "yes")) + (define-optimization-quality let-convertion (if (<= debug speed) 3 0) ("off" "maybe" "on" "on")) @@ -43,3 +48,26 @@ 3 0) ("no" "maybe" "yes" "yes")) + +(define-optimization-quality recognize-self-calls + (if (> (max speed space) debug) + 3 + 0) + ("no" "maybe" "yes" "yes")) + +(define-optimization-quality stack-allocate-dynamic-extent + (if (and (> (max speed space) (max debug safety)) + (< safety 3)) + 3 + 0) + ("no" "maybe" "yes" "yes")) + +(define-optimization-quality float-accuracy + 3 + ("degraded" "full" "full" "full")) + +(define-optimization-quality insert-step-conditions + (if (> debug (max speed space)) + debug + 0) + ("no" "no" "partial" "full"))