Improving Balanced Scheduling with Compiler Optimizations that Increase Instruction-Level Parallelism