(declare (type functional fun))
(assert (not (functional-entry-function fun)))
(with-ir1-environment (lambda-bind (main-entry fun))
(declare (type functional fun))
(assert (not (functional-entry-function fun)))
(with-ir1-environment (lambda-bind (main-entry fun))
(res (ir1-convert-lambda (make-xep-lambda fun))))
(setf (functional-kind res) :external)
(setf (leaf-ever-used res) t)
(res (ir1-convert-lambda (make-xep-lambda fun))))
(setf (functional-kind res) :external)
(setf (leaf-ever-used res) t)
;;; to be in an infinite recursive loop, then change the reference to
;;; reference a fresh copy. We return whichever function we decide to
;;; reference.
(defun maybe-expand-local-inline (fun ref call)
;;; to be in an infinite recursive loop, then change the reference to
;;; reference a fresh copy. We return whichever function we decide to
;;; reference.
(defun maybe-expand-local-inline (fun ref call)
(not (eq (functional-kind (node-home-lambda call)) :external))
(not *converting-for-interpreter*)
(inline-expansion-ok call))
(not (eq (functional-kind (node-home-lambda call)) :external))
(not *converting-for-interpreter*)
(inline-expansion-ok call))