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 1013Official 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:
- The first instruction in the intermediate code:
1001. - The target of a conditional or unconditional
goto:1003(from1009),1002(from1011), and1013(from1017). - The instruction immediately following a conditional or unconditional
goto:1010(after1009) and1012(after1011).
Thus the leaders are 1001, 1002, 1003, 1010, 1012, 1013, partitioning the code into 6 basic blocks:
- :
1001 - :
1002 - :
1003..1009 - :
1010..1011 - :
1012 - :
1013..1017
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.