GATEverse Practice, past papers & mock tests
GATE 2013 · session-1
Compiler DesignCode Generation and OptimizationhardMCQ2 marks
The following code is executed on a processor allowing only register operands. Each instruction can have at most two source operands and one destination operand. Assume all variables are dead after this code segment. c = a + b; d = c * a; e = c + a; x = c * c;
c
if (x > a) {
    y = a * a;
}
else {
    d = d * d;
    e = e * e;
}
Suppose the instruction set architecture has only two registers. The only allowed compiler optimization is code motion, which moves statements while preserving correctness. What is the minimum number of spills to memory in the compiled code?
Save your progress

Related Compiler Design PYQs