Split macro pass into independent passes
Split macro pass into independent passes

This is less efficient but will make it easier to add new passes in
the future.

jjhoo/lfe,rvirding/lfe,lfe/lfe,jjhoo/lfe,lfe/lfe,rvirding/lfe