1. What are the steps in performing loop invariant code motion optimisation using the ud-chain information?
2. What are the conditions to be satisfi ed in order to move a TAC statement from within the loop to the pre-header?
3. What are the common steps taken by target code generators for producing efficient code?
4. Explain any two data flow properties used by target code generators for generating efficient target code.