Compiler Design
Lexical Analysis
Marks 1Marks 2
Syntax Directed Translation
Marks 1Marks 2
Code Generation and Optimization
Marks 1Marks 2
1
GATE CSE 2021 Set 2
MCQ (Single Correct Answer)
+2
-0.66

Consider the following ANSI C code segment:

z = x + 3 + y -> f1 + y -> f2;

for (i = 0; i < 200; i = i + 2){

if (z > i) {

P = p + x + 3;

q = q + y -> f2;

} else {

p = p + y -> f2;

q = q + x + 3;

}

}

Assume that the variable y points to a struct (allocated on the heap) containing two fields f1 and f2, and the local variables x, y, z, p, g, and i are allotted registers. Common sub-expression elimination (CSE) optimization is applied on the code. The number of addition and dereference operations (of the form y -> f1 or y -> f2 ) in the optimized code, respectively, are:  

A
203 and 2
B
403 and 102
C
303 and 102
D
303 and 2
2
GATE CSE 2021 Set 2
MCQ (Single Correct Answer)
+2
-0.66

For a statement S in a program, in the context of liveness analysis, the following sets are defined:

USE(S): the set of variables used in S

IN(S): the set of variables that are live at the entry of S

OUT(S): the set of variables that are live at the exit of S

Consider a basic block that consists of two statements, S1 followed by S2.

Which one of the following statements is correct?

A
OUT(S1) = USE(S1) âˆª IN(S2)
B
OUT(S1) = IN(S2)
C
OUT(S1) = IN(S1) ∪ USE(S1)
D
OUT(S1) = IN(S2) ∪ USE(S2)
3
GATE CSE 2015 Set 2
MCQ (Single Correct Answer)
+2
-0.6
Consider the intermediate code given below.
(1)  i = 1
(2)  j = 1
(3)  t1 = 5 ∗ i
(4)  t2 = t1 + j
(5)  t3 = 4 ∗ t2
(6)  t4 = t3
(7)  a[t4] = -1
(8)  j = j + 1
(9)  if j<=5 goto (3)
(10) i=i+1
(11) if i<5 goto (2)

The number of nodes and edges in the control-flow-graph constructed for the above code, respectively, are

A
5 and 7
B
6 and 7
C
5 and 5
D
7 and 8
4
GATE CSE 2015 Set 1
MCQ (Single Correct Answer)
+2
-0.6
A variable x is said to be live at a statement $${S_i}$$ in a programif the following three conditions hold simultaneously:

i. There exists a statement $${S_j}$$ that uses x
ii. There is a path from $${S_i}$$ to $${S_j}$$ in the flow graph corresponding to the program
iii. The path has no intervening assignment to x including at $${S_i}$$ and $${S_j}$$

GATE CSE 2015 Set 1 Compiler Design - Code Generation and Optimization Question 11 English

The variables which are live both at the statement in basic block 2 and at the statement in basic block 3 of the above control flow graph are

A
p, s, u
B
r, s, u
C
r, u
D
q, v
GATE CSE Subjects
Theory of Computation
Operating Systems
Algorithms
Digital Logic
Database Management System
Data Structures
Computer Networks
Software Engineering
Compiler Design
Web Technologies
General Aptitude
Discrete Mathematics
Programming Languages
Computer Organization