ra: note a restriction in the interfence graph API
authorConnor Abbott <cwabbott0@gmail.com>
Sat, 6 Sep 2014 00:59:31 +0000 (20:59 -0400)
committerAndreas Boll <andreas.boll.dev@gmail.com>
Fri, 12 Sep 2014 14:07:47 +0000 (16:07 +0200)
As noted in the previous commit, this was introduced in
567e2769b81863b6dffdac3826a6b729ce6ea37c ("ra: make the p, q test more
efficient"), but I forgot to mention it.

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/program/register_allocate.h

index bfc9190dcbe1ec797125161859aab9345cf5bff6..dc68744953213e5893d2b84981dcfd9f3a06a4b4 100644 (file)
@@ -56,7 +56,10 @@ void ra_set_finalize(struct ra_regs *regs, unsigned int **conflicts);
  * Each interference graph node is a virtual variable in the IL.  It
  * is up to the user to ra_set_node_class() for the virtual variable,
  * and compute live ranges and ra_node_interfere() between conflicting
- * live ranges.
+ * live ranges. Note that an interference *must not* be added between
+ * two nodes if their classes haven't been assigned yet. The user
+ * should set the class of each node before building the interference
+ * graph.
  */
 struct ra_graph *ra_alloc_interference_graph(struct ra_regs *regs,
                                             unsigned int count);