Applications in languages like C have heavy pointer usage and it happens that a pointer p may point to operands of an expression, i.e., it points to operand of an expression along some path. If the value contained in the pointer variable is modified then it may or may not kill the original value of expression depending upon the path taken. Thus we see that there is redundancy along some path. To remove this redundancy we will try to make the expression completely redundant. But the node containing the modification of value of pointer p will inhibit hoisting the expression out of that node....
Applications in languages like C have heavy pointer usage and it happens that a pointer p may point to operands of an expression, i.e., it points to o...