GATE CS 2021 Set 2 — Question 40
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67HardCommon Subexpression EliminationCode OptimizationCompiler Design
Compiler Design → Code Optimization → Common Subexpression Elimination
Last updated
Question
Consider the following ANSI C code segment:Assume that the variable y points to a struct (allocated on the heap) containing two fields f1 and f2, and the local variables x, y, z, p, q, and i are allotted registers. Common sub-expression elimination (CSE) optimization is applied on the code. The number of addition and dereference operations (of the form
z = x + 3 + y->f1 + y->f2;
for (i = 0; i < 200; i = i + 2) {
if (z > i) {
p = p + x + 3;
q = q + y->f1;
} else {
p = p + y->f2;
q = q + x + 3;
}
}
y->f1 or y->f2) in the optimized code, respectively, are:Correct answer
(D) 303 and 2
Solution
We analyze the code with Common Sub-expression Elimination (CSE).1. Pre-loop Analysis:
Code:
The values
Code:
Inside the loop,
Code:
z = x + 3 + y->f1 + y->f2;t1 = x + 3(1 addition)t2 = y->f1(1 dereference)t3 = t1 + t2(1 addition)t4 = y->f2(1 dereference)z = t3 + t4(1 addition)
The values
t1 (), t2 (), and t4 () are stored in registers and reused.2. Loop Control Analysis:Code:
for (i = 0; i < 200; i = i + 2)- The loop runs for . Total iterations = 100.
- Increment
i = i + 2is executed 100 times. - Loop control totals: 100 additions.
Inside the loop,
x+3, y->f1, and y->f2 are available as t1, t2, t4.If z > i (True block):p = p + t1(1 addition)q = q + t2(1 addition)
p = p + t4(1 addition)q = q + t1(1 addition)
- Additions:
- Dereferences:
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 - - …