GATEverse Practice, past papers & mock tests
GATE 2013 · session-1
Compiler DesignCode Generation and OptimizationmediumMCQ2 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;
}
What is the minimum number of registers needed to compile this code segment without any spill to memory? Do not apply any optimization other than optimizing register allocation.
Save your progress

Related Compiler Design PYQs