intel/fs: Add an UNDEF instruction to avoid excess live ranges
[mesa.git] / src / intel / compiler / brw_fs_builder.h
index a69e3c6ae807db3aff818117926c5e7d563937fa..9655c2ef55477625e3710d4526f98882f7b8adc7 100644 (file)
@@ -706,6 +706,17 @@ namespace brw {
          return inst;
       }
 
+      instruction *
+      UNDEF(const dst_reg &dst) const
+      {
+         assert(dst.file == VGRF);
+         instruction *inst = emit(SHADER_OPCODE_UNDEF,
+                                  retype(dst, BRW_REGISTER_TYPE_UD));
+         inst->size_written = shader->alloc.sizes[dst.nr] * REG_SIZE;
+
+         return inst;
+      }
+
       backend_shader *shader;
 
    private: