(cut-node (node &aux did-something)
(when (and (not (block-delete-p (node-block node)))
(combination-p node)
- (fun-info-p (basic-combination-kind node)))
+ (eq (basic-combination-kind node) :known))
(let* ((fun-ref (lvar-use (combination-fun node)))
(fun-name (leaf-source-name (ref-leaf fun-ref)))
(modular-fun (find-modular-version fun-name width)))
;;; code has been written from scratch following Chapter 7 of
;;; _Introduction to Algorithms_ by Corman, Rivest, and Shamir.
(define-source-transform sb!impl::sort-vector (vector start end predicate key)
+ ;; Like CMU CL, we use HEAPSORT. However, other than that, this code
+ ;; isn't really related to the CMU CL code, since instead of trying
+ ;; to generalize the CMU CL code to allow START and END values, this
+ ;; code has been written from scratch following Chapter 7 of
+ ;; _Introduction to Algorithms_ by Corman, Rivest, and Shamir.
`(macrolet ((%index (x) `(truly-the index ,x))
(%parent (i) `(ash ,i -1))
(%left (i) `(%index (ash ,i 1)))