Remove QUICK-AND-DIRTY-TEST-COMPILE

This commit is contained in:
John Lorentzson 2025-07-09 14:39:35 +02:00
parent fd311232de
commit 36b28f5b8b

View file

@ -362,36 +362,3 @@ is the responsibility of the pre-assembly compilation step."
(the (unsigned-byte 16) (operand asm-obj)))
(ldb (byte 8 8)
(the (unsigned-byte 16) (operand asm-obj))))))))
(defun quick-and-dirty-test-compile (text &key print-ir-p print-alloc-p make-asm-p)
(with-input-from-string (source-stream text)
(let ((*token-stream* (make-token-stream (tokenize source-stream text))))
(let ((rb (with-compilation-setup (root-block builder)
(compile-node (match-syntax program) builder)
root-block))
(return-values '()))
(do-iblocks (ib rb)
(optim-prepare-direct-instructions ib)
;;(optim-commutative-constant-folding ib)
(optim-reorder-arguments ib)
(optim-call-duplicate-args ib)
(optim-remove-unused ib))
(push rb return-values)
(let ((allocations (allocate-values rb)))
(optim-reuse-temporary-slots rb allocations)
(when print-ir-p
(print-iblocks rb)
(terpri))
(when print-alloc-p
(loop :for allocation :in allocations
:do (format t "~%~A - ~A~{ - ~A~}"
(data allocation)
(strategy allocation)
(unless (null (varvec-index allocation))
(list (varvec-index allocation)))))
(terpri))
(push allocations return-values)
(when make-asm-p
(with-variable-allocations allocations
(push (compile-iblocks rb) return-values))))
(values-list (nreverse return-values))))))