(loop
(let ((did-something nil))
(dolist (clambda clambdas)
- (let* ((component (lambda-component clambda))
- (*all-components* (list component)))
+ (let ((component (lambda-component clambda)))
;; The original CMU CL code seemed to implicitly assume that
;; COMPONENT is the only one here. Let's make that explicit.
(aver (= 1 (length (functional-components clambda))))
(defvar *flame-on-necessarily-undefined-function* nil)
(defvar *check-consistency* nil)
-(defvar *all-components*)
;;; Set to NIL to disable loop analysis for register allocation.
(defvar *loop-analyze* t)
(locall-analyze-clambdas-until-done (list fun))
- (multiple-value-bind (components-from-dfo top-components hairy-top)
- (find-initial-dfo (list fun))
- (declare (ignore hairy-top))
-
- (let ((*all-components* (append components-from-dfo top-components)))
- (dolist (component-from-dfo components-from-dfo)
- (compile-component component-from-dfo)
- (replace-toplevel-xeps component-from-dfo)))
+ (let ((components-from-dfo (find-initial-dfo (list fun))))
+ (dolist (component-from-dfo components-from-dfo)
+ (compile-component component-from-dfo)
+ (replace-toplevel-xeps component-from-dfo))
(let ((entry-table (etypecase *compile-object*
(fasl-output (fasl-output-entry-table
(maybe-mumble "IDFO ")
(multiple-value-bind (components top-components hairy-top)
(find-initial-dfo lambdas)
- (let ((*all-components* (append components top-components)))
+ (let ((all-components (append components top-components)))
(when *check-consistency*
(maybe-mumble "[check]~%")
- (check-ir1-consistency *all-components*))
+ (check-ir1-consistency all-components))
(dolist (component (append hairy-top top-components))
(pre-physenv-analyze-toplevel component))
(when *check-consistency*
(maybe-mumble "[check]~%")
- (check-ir1-consistency *all-components*))
+ (check-ir1-consistency all-components))
(if load-time-value-p
(compile-load-time-value-lambda lambdas)