b = 5 a = 2 e = a * b f = a * c r = e + f a = r * rAnswer:
{c}
b = 5
{b,c}
a = 2
{a,b,c}
e = a * b
{e,a,c}
f = a * c
{e,f}
r = e + f
{r}
a = r * r
{a,r}
Answer:
| Statement | Code Generated | Register $t0 | Register $t1 | Register $t2 |
| b = 5 | li $t0,5 | b | - | - |
| a = 2 | li $t1,2 | b | a | - |
| e = a * b | mul $t0,$t1,$t0 | e | a | - |
| f = a * c | lw $t2,c mul $t2,$t1,$t2 | e | - | f |
| r = e + f | add $t0,$t0,$t2 | r | - | - |
| a = r * r | mul $t1,$t0,$t0 | r | a | - |
| sw $t0,r sw $t1,a |
- | - | - |
Answer:
Graph:
r ---- a --------- b
/ \ /
/ \ /
/ \ /
e --------- c
\
\
\
f
Can remove nodes in order: r,f,e,a,b,c (no marked spill nodes)
and get colors/registers:
(0) (2)
r ---- a --------- b (1)
/ \ /
/ \ /
(1)/ \ /
e --------- c (0)
\
\
\
f (0)
Answer:
| Statement | Code Generated | Register $t0 | Register $t1 | Register $t2 |
| b = 5 | li $t1,5 | - | b | - |
| a = 2 | li $t2,2 | - | b | a |
| e = a * b | mul $t1,$t2,$t1 | - | - | a |
| f = a * c | lw $t0,c mul $t0,$t2,$t0 | f | e | - |
| r = e + f | add $t0,$t1,$t0 | r | - | - |
| a = r * r | mul $t2,$t0,$t0 | r | - | a |
| sw $t0,r sw $t2,a |
- | - | - |