diff --git a/doc/ref_kernel.rst b/doc/ref_kernel.rst
index 3a15e3a585afc9a9b181ae21b202e20a104ad2a1..97d71f3e04051d45a2f911eb0f7b2eca7147b96b 100644
--- a/doc/ref_kernel.rst
+++ b/doc/ref_kernel.rst
@@ -242,6 +242,12 @@ These are usually key-value pairs. The following attributes are recognized:
       heuristic and indicate that the specified list of dependencies is
       exhaustive.
 
+* ``dep_query=...`` provides an alternative way of specifying instruction
+  dependencies. The given string is parsed as a match expression object by
+  :func:`loopy.match.parse_match`. Upon kernel generation, this match
+  expression is used to match instructions in the kernel and add them as
+  dependencies.
+
 * ``nosync=id1:id2`` prescribes that no barrier synchronization is necessary
   the instructions with identifiers ``id1`` and ``id2`` to the, even if
   a dependency chain exists and variables are accessed in an apparently
@@ -251,6 +257,9 @@ These are usually key-value pairs. The following attributes are recognized:
   function :func:`fnmatch.fnmatchcase`. This is helpful in conjunction with
   ``id_prefix``.
 
+* ``nosync_query=...`` provides an alternative way of specifying ``nosync``,
+  just like ``dep_query`` and ``dep``.
+
 * ``priority=integer`` sets the instructions priority to the value
   ``integer``. Instructions with higher priority will be scheduled sooner,
   if possible. Note that the scheduler may still schedule a lower-priority