minor changes
changed licm to not move volatile pointers
working on scalar replacement