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 !?