validate(program.get());
/* Optimization */
- if (!(aco::debug_flags & aco::DEBUG_NO_VN))
- aco::value_numbering(program.get());
- if (!(aco::debug_flags & aco::DEBUG_NO_OPT))
- aco::optimize(program.get());
+ if (!args->options->disable_optimizations) {
+ if (!(aco::debug_flags & aco::DEBUG_NO_VN))
+ aco::value_numbering(program.get());
+ if (!(aco::debug_flags & aco::DEBUG_NO_OPT))
+ aco::optimize(program.get());
+ }
/* cleanup and exec mask handling */
aco::setup_reduce_temp(program.get());
aco::collect_presched_stats(program.get());
if (!args->is_trap_handler_shader) {
- if (!(aco::debug_flags & aco::DEBUG_NO_SCHED))
+ if (!args->options->disable_optimizations &&
+ !(aco::debug_flags & aco::DEBUG_NO_SCHED))
aco::schedule_program(program.get(), live_vars);
validate(program.get());