This new pass removes unnecessary accesses and writes. It currently supports 2 simplifications, but more are planned.
It removes write accesses that write a loaded value back to the location it was loaded from. It is a typical artifact from DeLICM. Removing it also removes bogus dependencies.
It also removes statements without side-effects. ScopInfo already removes these, but the removal of unnecessary writes can result in more side-effect free statements.