Corrigendum: a new algorithm for composite hoisting and strength reduction optimisation

NCHSA performs strictly safe hoisting. This necessitates edge placement of 1-unit computations when node placement would be unsafe. In Figure 3, a 1-unit computation would be inserted in the synthetic edge block 5-2 because the candidate expression is not anticipated along all paths through node 5. A tacit assumption here is that a 1-unit definition occurs along all paths reaching the exit of node 5. This may not aways be true, viz. if the 1-unit definition of node 3 is not present. Another difficulty with this placement approach is with the occurrence of many different 1-unit definitions in a program, viz. i≔ i+l in node 3 and i≔ i + 5 in node 4. It is not possible to have a single 1-unit computation in synthetic block 5-2 to cover the effect of these 1-unit definitions. Due to these reasons it is desirable to consider placement of 1-unit computations strictly in those nodes which contain the 1-unit definitions, even if such placement is unsafe. (This is not inconsistent with the placement philosophy of ...