diff options
Diffstat (limited to 'src/backend/generator')
-rw-r--r-- | src/backend/generator/allocate.scm | 4 | ||||
-rw-r--r-- | src/backend/generator/assembly.scm | 20 | ||||
-rw-r--r-- | src/backend/generator/expansion.scm | 24 |
3 files changed, 24 insertions, 24 deletions
diff --git a/src/backend/generator/allocate.scm b/src/backend/generator/allocate.scm index 0d417db..c5d7c05 100644 --- a/src/backend/generator/allocate.scm +++ b/src/backend/generator/allocate.scm @@ -7,8 +7,8 @@ (define (allocate n) (cond ((null? n) n) - ((eq? (car n) 'tmp) - (list 'stack (make-location (cadr n)))) + ((eq? (car n) 'tmp-ir) + (list 'stack-ir (make-location (cadr n)))) ((list? (car n)) (cons (allocate (car n)) (allocate (cdr n)))) (#t 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))) diff --git a/src/backend/generator/expansion.scm b/src/backend/generator/expansion.scm index 9fe2e0a..1745e23 100644 --- a/src/backend/generator/expansion.scm +++ b/src/backend/generator/expansion.scm @@ -1,23 +1,23 @@ (define-module (backend generator expansion) #:use-module (backend ast ir) #:use-module (backend utils merge-instructions) - #:export (instrs - not - neg - ret)) + #:export (instrs-ir + not-ir + neg-ir + ret-ir)) -(define (instrs lst) +(define (instrs-ir lst) #f - (list 'instrs (cons 'list (merge-instr lst)))) + (list 'instrs-ir (cons 'list (merge-instr lst)))) -(define (not src dst) (unary 'not src dst)) -(define (neg src dst) (unary 'neg src dst)) +(define (not-ir src dst) (unary 'not-ir src dst)) +(define (neg-ir src dst) (unary 'neg-ir src dst)) -(define (ret src) - (list (list 'mov src (list 'reg "eax")) - (list 'ret))) +(define (ret-ir src) + (list (list 'mov-ir src (list 'reg-ir "eax")) + (list 'ret-ir))) (define (unary op src dst) - (list (list 'mov src dst) + (list (list 'mov-ir src dst) (list op dst))) |