Refer to the given 3-address code sequence. This code sequence is split into basic blocks. The number of basic blocks is ________ . (Answer in integer)
$$\begin{aligned} & \text { 1001: } \mathrm{i}=1 \\ & \text { 1002: } \mathrm{j}=1 \\ & \text { 1003: } \mathrm{t} 1=10 \text { * } \mathrm{i} \\ & \text { 1004: } \mathrm{t} 2=\mathrm{t} 1+\mathrm{j} \\ & \text { 1005: t3 }=8^* \text { t2 } \\ & \text { 1006: } \mathrm{t} 4=\mathrm{t} 3-88 \\ & \text { 1007: a[t4] }=0.0 \\ & \text { 1008: j = j + } 1 \\ & \text { 1009: if } \mathrm{j}<=10 \text { goto } 1003 \\ & \text { 1010: } \mathrm{i}=\mathrm{i}+1 \\ & \text { 1011: if } \mathrm{i}<=10 \text { goto } 1002 \\ & \text { 1012: } \mathrm{i}=1 \\ & \text { 1013: } \mathrm{t} 5=\mathrm{i}-1 \\ & \text { 1014: t6 = 88 * t5 } \\ & \text { 1015: } \mathrm{a}[\mathrm{t} 6]=1.0 \\ & \text { 1016: } i=i+1 \\ & \text { 1017: if } \mathrm{i}<=10 \text { goto } 1013 \end{aligned}$$
Consider the following pseudo-code.
L1: t1 = -1
L2: t2 = 0
L3: t3 = 0
L4: t4 = 4 * t3
L5: t5 = 4 * t2
L6: t6 = t5 * M
L7: t7 = t4 + t6
L8: t8 = a[t7]
L9: if t8 <= max goto L11
L10: t1 = t8
L11: t3 = t3 + 1
L12: if t3 < M goto L4
L13: t2 = t2 + 1
L14: if t2 < N goto L3
L15: max = t1
Which one of the following options CORRECTLY specifies the number of basic blocks and the number of instructions in the largest basic block, respectively ?
Consider the control flow graph shown.
Which one of the following choices correctly lists the set of live variables at the exit point of each basic block?
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: