Answered step by step
Verified Expert Solution
Question
1 Approved Answer
3 Problem _ Compiler Optimization and Aliasing Assume the following program fragement without any control flow branches (straight line code). Your job is it to
3 Problem _ Compiler Optimization and Aliasing Assume the following program fragement without any control flow branches (straight line code). Your job is it to implement a compiler optimization called "constant folding for straight line code. This optimization identifies program variables with values that are known at compile time. Expressions that consist of only such variables can be evaluated at compile time. In our project, we do constant folding for ILOC instructions, not on the source code itself begin int a, b, c; /* some other declarations / /* no statements that mention a', or 'b,, */ print c; end. Would it always be safe for the compiler optimization of constant folding to replace the assignment "c-a-b" by "C = 1" ? Note that there are no assignments to variables a or b between "b = 3" and "c = a-b". The control flow is linear, so there are no branches. Give an example where constant propagation would be not be safe (incorrect) in this situation, without violating any of the above assumptions about the code fragment. Note: You can add declarations of other variables and other statements that do not mention a or b
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started