ac/llvm: fix amdgcn.rcp for v2f16
[mesa.git] / src / amd / compiler / aco_interface.cpp
index 4b0ea2ff5d042c888415b9b6349dfbff28d7725c..27a072ce6bbd27e12681bd57bab14533ec01620c 100644 (file)
@@ -89,10 +89,12 @@ void aco_compile_shader(unsigned shader_count,
       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());
@@ -123,7 +125,8 @@ void aco_compile_shader(unsigned shader_count,
       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());