GATE CS 2024 Set 1 — Question 39
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumBasic Blocks & Flow GraphsCode OptimizationCompiler Design
Compiler Design → Code Optimization → Basic Blocks & Flow Graphs
Last updated
Question
Consider the following pseudo-code.Which one of the following options CORRECTLY specifies the number of basic blocks and the number of instructions in the largest basic block, respectively ?
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
Correct answer
(D) 7 and 6
Solution
To find the number of basic blocks, we first identify the leaders in the code:
The largest basic block is Block 3, which contains 6 instructions.
Therefore, the correct option is (D).
1.The first instruction is a leader: L1.
2.Any instruction that is the target of a conditional or unconditional jump is a leader: L3 (target of L14), L4 (target of L12), and L11 (target of L9).
3.Any instruction that immediately follows a conditional or unconditional jump is a leader: L10 (follows L9), L13 (follows L12), and L15 (follows L14).
The set of leaders is .Now, we form the basic blocks starting from each leader until the next leader or the end of the program:- Block 1: (2 instructions)
- Block 2: (1 instruction)
- Block 3: (6 instructions)
- Block 4: (1 instruction)
- Block 5: (2 instructions)
- Block 6: (2 instructions)
- Block 7: (1 instruction)
The largest basic block is Block 3, which contains 6 instructions.
Therefore, the correct option is (D).
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Code Optimization
2026 Set 2 Q17In C runtime environment, which one of the following is stored in heap?2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]2026 Set 1 Q28Which of the following statements is/are true?2026 Set 2 Q35A lexical analyzer uses the following token definitions - - …