The following code segment is executed on a processor which allows only…
TPSC Computer/IT Posts · 2025 · Senior Informatics Officer · Section DGATE · 2013 · CS · Computer Science & ITBARC · Computer Science · 2013
The following code segment is executed on a processor which allows only register operands in its instructions. Each instruction can have at most two source operands and one destination operand. Assume that all variables are dead after this code segment.
c = a + b;
d = c * a;
e = c + a;
x = c * c;
if (x > a) {
y = a * a;
}
else {
d = d * d;
e = e * e;
}
Suppose the instruction set architecture of the processor has only two registers. The only allowed compiler optimization is code motion, which moves statements from one place to another while preserving correctness. What is the minimum number of spills to memory in the compiled code?
- A.
0
- B.
1
- C.
2
- D.
3
Attempted by 180 students.
Sign up free to check your answer
Sign up freeLoading lesson…