Skip to content
Snippets Groups Projects
Commit 32f0cbbc authored by wlott's avatar wlott
Browse files

Changed DEFINE-INSTRUCTION to ignore the :READS, :WRITES, and :DELAY

options unless the scheduler is turned on.
parent 13ec0fb4
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;; ;;;
(ext:file-comment (ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/new-assem.lisp,v 1.15 1992/07/30 05:34:05 wlott Exp $") "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/new-assem.lisp,v 1.16 1992/07/31 00:22:20 wlott Exp $")
;;; ;;;
;;; ********************************************************************** ;;; **********************************************************************
;;; ;;;
...@@ -1600,7 +1600,9 @@ ...@@ -1600,7 +1600,9 @@
(writes nil) (writes nil)
(delay nil) (delay nil)
(pinned nil) (pinned nil)
(pdefs nil)) (pdefs nil)
(scheduler-p (assem-params-scheduler-p
(c:backend-assembler-params c:*target-backend*))))
(dolist (option-spec options) (dolist (option-spec options)
(multiple-value-bind (multiple-value-bind
(option args) (option args)
...@@ -1617,19 +1619,28 @@ ...@@ -1617,19 +1619,28 @@
(:attributes (:attributes
(setf attributes (append attributes args))) (setf attributes (append attributes args)))
(:reads (:reads
(when (or reads (cdr args)) (cond ((not scheduler-p)
(error (warn "Ignoring :READS because scheduler turned off."))
"Can only specify one reads expression per instruction.")) ((or reads (cdr args))
(setf reads (car args))) (error
"Can only specify one reads expression per instruction."))
(t
(setf reads (car args)))))
(:writes (:writes
(when (or writes (cdr args)) (cond ((not scheduler-p)
(error (warn "Ignoring :WRITES because scheduler turned off."))
"Can only specify one writes expression per instruction.")) ((or writes (cdr args))
(setf writes (car args))) (error
"Can only specify one writes expression per instruction."))
(t
(setf writes (car args)))))
(:delay (:delay
(when delay (cond ((not scheduler-p)
(error "Can only specify delay once per instruction.")) (warn "Ignoring :DELAY because scheduler turned off."))
(setf delay args)) (delay
(error "Can only specify delay once per instruction."))
(t
(setf delay args))))
(:pinned (:pinned
(setf pinned t)) (setf pinned t))
(:vop-var (:vop-var
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment