added basic optimization pass that promotes uniform into varying variables (not array) for nvptx target