1 ;;;; aimed optimization qualities
3 ;;;; This software is part of the SBCL system. See the README file for
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
14 (define-optimization-quality type-check
15 (cond ((= safety 0) 0)
16 ;; FIXME: It is duplicated in PROBABLE-TYPE-CHECK-P and in
19 ((and (<= speed safety)
21 (<= compilation-speed safety))
24 ("no" "maybe" "fast" "full"))
26 (define-optimization-quality check-tag-existence
27 (cond ((= safety 0) 0)
29 ("no" "maybe" "yes" "yes"))
31 (define-optimization-quality let-convertion
32 (if (<= debug speed) 3 0)
33 ("off" "maybe" "on" "on"))
35 (define-optimization-quality verify-arg-count
36 (if (zerop safety) 0 3)
37 ("no" "maybe" "yes" "yes"))
39 (define-optimization-quality merge-tail-calls
40 (if (or (> space debug)
44 ("no" "maybe" "yes" "yes"))
46 (define-optimization-quality insert-debug-catch
47 (if (> debug (max speed space))
50 ("no" "maybe" "yes" "yes"))
52 (define-optimization-quality recognize-self-calls
53 (if (> (max speed space) debug)
56 ("no" "maybe" "yes" "yes"))
58 (define-optimization-quality stack-allocate-dynamic-extent
59 (if (and (> (max speed space) (max debug safety))
63 ("no" "maybe" "yes" "yes"))
65 (define-optimization-quality float-accuracy
67 ("degraded" "full" "full" "full"))
69 (define-optimization-quality insert-step-conditions
70 (if (> debug (max speed space))
73 ("no" "no" "partial" "full"))