From 4d57a4ac8067fed1180e773e2ac6ff7112348f48 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Mon, 5 Jan 1987 02:20:43 +0000 Subject: [PATCH] Revert previous change since experiment proved that this was not the source of the bug being tracked down. Leave in the other bug fix which apparently never was used before. --- v7/src/compiler/machines/bobcat/lapgen.scm | 24 ++++++---------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/v7/src/compiler/machines/bobcat/lapgen.scm b/v7/src/compiler/machines/bobcat/lapgen.scm index 99c71d055..a834fe775 100644 --- a/v7/src/compiler/machines/bobcat/lapgen.scm +++ b/v7/src/compiler/machines/bobcat/lapgen.scm @@ -37,7 +37,7 @@ ;;;; RTL Rules for 68020 -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.145 1987/01/05 02:04:25 cph Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.146 1987/01/05 02:20:43 cph Exp $ (declare (usual-integrations)) (using-syntax (access lap-generator-syntax-table compiler-package) @@ -379,14 +379,7 @@ (define-rule statement (ASSIGN (PRE-INCREMENT (REGISTER 15) -1) (OFFSET (REGISTER (? r)) (? n))) - ;; Prevent probabilistic screws when the MOVE instruction's source - ;; operand is evaluated after the destination operand. - (if (= r 15) - (let ((temporary - (register-reference (allocate-temporary-register! false)))) - `((MOVE L ,(indirect-reference! r n) ,temporary) - (MOVE L ,temporary (@-A 7)))) - `((MOVE L ,(indirect-reference! r n) (@-A 7))))) + `((MOVE L ,(indirect-reference! r n) (@-A 7)))) (define-rule statement (ASSIGN (PRE-INCREMENT (REGISTER 15) -1) @@ -519,19 +512,14 @@ (define (generate-invocation-prefix:move-frame-up frame-size how-far) (cond ((or (zero? frame-size) (zero? how-far)) '()) ((= frame-size 1) - `((MOVE L (@A 7) ,(offset-reference a7 how-far)) - ,@(increment-anl 7 how-far)) - #|`((MOVE L (@A+ 7) ,(offset-reference a7 (-1+ how-far))) - ,@(increment-anl 7 (-1+ how-far)))|#) + `((MOVE L (@A+ 7) ,(offset-reference a7 (-1+ how-far))) + ,@(increment-anl 7 (-1+ how-far)))) ((= frame-size 2) - `((MOVE L (@A 7) ,(offset-reference a7 how-far)) - (MOVE L (@AO 7 4) ,(offset-reference a7 (1+ how-far))) - ,@(increment-anl 7 how-far)) - #|(if (= how-far 1) + (if (= how-far 1) `((MOVE L (@AO 7 4) (@AO 7 8)) (MOVE L (@A+ 7) (@A 7))) (let ((i `(MOVE L (@A+ 7) ,(offset-reference a7 (-1+ how-far))))) - `(,i ,i ,@(increment-anl 7 (- how-far 2)))))|#) + `(,i ,i ,@(increment-anl 7 (- how-far 2)))))) (else (let ((temp-0 (allocate-temporary-register! 'ADDRESS)) (temp-1 (allocate-temporary-register! 'ADDRESS))) -- 2.25.1