diff options
Diffstat (limited to 'src/backend/generator/assembly.scm')
-rw-r--r-- | src/backend/generator/assembly.scm | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/backend/generator/assembly.scm b/src/backend/generator/assembly.scm index 8a110f3..205900b 100644 --- a/src/backend/generator/assembly.scm +++ b/src/backend/generator/assembly.scm @@ -2,17 +2,17 @@ #:use-module (backend ast ir) #:use-module (backend utils assign-stack) #:use-module (backend utils merge-instructions) - #:export (instrs - mov)) + #:export (instrs-ir + mov-ir)) -(define (instrs lst) - (cons 'list (cons (list 'alloc (abs (get-frame-size))) +(define (instrs-ir lst) + (cons 'list (cons (list 'alloc-ir (abs (get-frame-size))) (merge-instr lst)))) -(define (mov src dst) - (if (and (eq? 'stack (car dst)) - (eq? 'stack (car src))) - (append (list (list 'mov src (reg "r10d"))) - (list (list 'mov (reg "r10d") dst))) - (list 'mov src dst))) +(define (mov-ir src dst) + (if (and (eq? 'stack-ir (car dst)) + (eq? 'stack-ir (car src))) + (append (list (list 'mov-ir src (reg-ir "r10d"))) + (list (list 'mov-ir (reg-ir "r10d") dst))) + (list 'mov-ir src dst))) |