The GATE Grind

GATE 2025 CS (CS1) – Question 52

Compiler Design · Intermediate Code Generation · 2 marks · Numerical answer

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)

1001: i = 1
1002: j = 1
1003: t1 = 10*i
1004: t2 = t1+j
1005: t3 = 8*t2
1006: t4 = t3-88
1007: a[t4] = 0.0
1008: j = j+1
1009: if j <= 10 goto 1003
1010: i = i+1
1011: if i <= 10 goto 1002
1012: i = 1
1013: t5 = i-1
1014: t6 = 88*t5
1015: a[t6] = 1.0
1016: i = i+1
1017: if i <= 10 goto 1013

Practise this question in The GATE Grind →

Show answer and explanation

Correct answer: 6

Explanation

Leaders are 1001 (first instruction), 1002, 1003 and 1013 (jump targets), and 1010 and 1012 (instructions after conditional jumps). The blocks are 1001; 1002; 1003-1009; 1010-1011; 1012; 1013-1017, so 6.