Register Allocation 255
• At position 45, the move defines V33 so the range for V33 is shortened to start at 45;
V37 is used, so we add a range to V37 extending from (for now) the start of the block
to position 45. This is illustrated in Figure 7.4(b).
• At position 40, the move defines V34 so its range is shortened to start at 40; V38 is
used so we add a range to V38 extending from (for now) the start of the block to
position 40. This is illustrated in Figure 7.4(c).
• At position 35, the multiplication operation defines V38 so its range is shortened to
start at 35; V34 is used so we add a range extending from the start of the block to
35, and because it is adjacent to the next segment, we merge the two; V33 is used,
so we add a segment for V33 from