begin work on outliner pass to break up large functions. part 1: aggressive variable elimination, to reduce spilling