Skip to content
GATEiit

GATE CSE 2024 Session 1 Q39: Basic blocks in three-address code for a nested loop

Question

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?

Try it: multiple choice: exactly one correct option

Select one option
Wrong answer costs 2/3 mark in GATE.
Show answer and explanation

Answer: D (official GATE 2024 final answer key)

Concept used: Leaders: the first instruction, every jump target, and every instruction right after a jump.

First step: Mark the leaders: L1, the targets L3, L4, L11, and the instructions after jumps, L10, L13, L15.

Full step-by-step solution

Detailed working, common mistakes and linked mock tests will be available with a free GATEiit account. Log-in is coming soon.

Share this question

WhatsAppDownload image

Source: official GATE 2024 Session 1 CS question paper and final answer key, organised by IISc Bangalore. Question paper · Answer key