Question

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
Official answer and solution
Official answer
6
From
Official GATE 2025 answer key

Solution

Identify all leader instructions (the first instruction, any target of a jump, and any instruction immediately following a jump).

By the standard basic-block partitioning algorithm, an instruction is a leader if it is:

  1. The first instruction in the intermediate code: 1001.
  2. The target of a conditional or unconditional goto: 1003 (from 1009), 1002 (from 1011), and 1013 (from 1017).
  3. The instruction immediately following a conditional or unconditional goto: 1010 (after 1009) and 1012 (after 1011).

Thus the leaders are 1001, 1002, 1003, 1010, 1012, 1013, partitioning the code into 6 basic blocks:

  • B1B_1: 1001
  • B2B_2: 1002
  • B3B_3: 1003..1009
  • B4B_4: 1010..1011
  • B5B_5: 1012
  • B6B_6: 1013..1017
Final answer

6

The answer is the one in the official GATE answer key. The solution is this site's own explanation.

Source

Paper
GATE 2025 Computer Science and Information Technology - Session 1 (CS1)
Question
52 of 65
Section
Computer Science and Information Technology

Report an error in this question

GATE questions are the work of the organising institutes. This site is independent and is not affiliated with them.