The program below uses six temporary variables a, b, c, d, e, f.
a = 1
b = 10
c = 20
d = a+b
e = c+d
f = c+e
b = c+e
e = b+f
d = 5+e
return d+f
Assuming that all operations take their operands from registers, what is the minimum number of registers needed to execute this program without spilling?
(A) 2
(B) 3
(C) 4
(D) 6
My attempt :
But, people are using register R3 for variable C.
I’ve applied register re-usability without spilling, so answer is only 2.
My question is :
Whether, can we apply register re-usability or not !?