(in-package "SB!C")
(define-optimization-quality type-check
+ ;; FIXME: grepping the tree for "policy.*safety" yields some
+ ;; places which might want to use this instead -- or
+ ;; some other derived policy.
(cond ((= safety 0) 0)
- ;; FIXME: It is duplicated in PROBABLE-TYPE-CHECK-P and in
- ;; some other places.
- ((and (<= speed safety)
- (<= space safety)
- (<= compilation-speed safety))
- 3)
- (t 2))
- ("no" "maybe" "fast" "full"))
+ ((and (< safety 2) (< safety speed)) 2)
+ (t 3))
+ ("no" "maybe" "weak" "full"))
(define-optimization-quality check-tag-existence
(cond ((= safety 0) 0)
(t 3))
("no" "maybe" "yes" "yes"))
-(define-optimization-quality let-convertion
+(define-optimization-quality let-conversion
(if (<= debug speed) 3 0)
("off" "maybe" "on" "on"))
(define-optimization-quality stack-allocate-dynamic-extent
(if (and (> (max speed space) (max debug safety))
- (< safety 3))
- 3
- 0)
+ (< safety 3))
+ 3
+ 0)
("no" "maybe" "yes" "yes"))
(define-optimization-quality stack-allocate-vector
debug
0)
("no" "no" "partial" "full"))
+
+(define-optimization-quality compute-debug-fun
+ debug
+ ("no" "minimal" "yes" "yes"))
+
+(define-optimization-quality preserve-single-use-debug-variables
+ (if (and (>= debug 2)
+ (< speed 3))
+ 3
+ 0)
+ ("no" "no" "no" "yes"))
+
+(define-optimization-quality insert-array-bounds-checks
+ (if (= safety 0) 0 3)
+ ("no" "yes" "yes" "yes"))
+
+(define-optimization-quality store-xref-data
+ (if (= space 3)
+ 0
+ 3)
+ ("no" "yes" "yes" "yes"))
+
+(define-optimization-quality store-coverage-data
+ 0
+ ("no" "no" "yes" "yes"))