nir: Add a nop intrinsic
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 16 Sep 2016 04:02:37 +0000 (21:02 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 3 Oct 2016 23:17:12 +0000 (16:17 -0700)
This intrinsic has no destination, no sources, no variables, and can be
eliminated.  In other words, it does nothing and will always get deleted by
dead code elimination.  However, it does provide a quick-and-easy way to
temporarily tag a particular location in a NIR shader.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
src/compiler/nir/nir_intrinsics.h

index b27a148c951c4ccb7010ec9cc50e3daddf15ad36..f24d894f0917e0cb7730045740f0ecd8ad2961ee 100644 (file)
@@ -41,6 +41,9 @@
 
 #define ARR(...) { __VA_ARGS__ }
 
+INTRINSIC(nop, 0, ARR(0), false, 0, 0, 0, xx, xx, xx,
+          NIR_INTRINSIC_CAN_ELIMINATE)
+
 INTRINSIC(load_var, 0, ARR(0), true, 0, 1, 0, xx, xx, xx, NIR_INTRINSIC_CAN_ELIMINATE)
 INTRINSIC(store_var, 1, ARR(0), false, 0, 1, 1, WRMASK, xx, xx, 0)
 INTRINSIC(copy_var, 0, ARR(0), false, 0, 2, 0, xx, xx, xx, 0)