Moved optimization passes into a separate function
Moved optimization passes into a separate function

WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc,WheretIB/nullc