Gate CS-2013 Question Paper With Solutions

Q. 48 The following code segment is executed on a processor which allows only register operands
in its instructions. Each instruction can have atmost 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

Answer: (B)

Explanation:

Gate CS-2013 Question Paper With Solutions

Learn More:   Gate EC-2011 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here