]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Don't set useless relations.
authorAndrew MacLeod <amacleod@redhat.com>
Fri, 14 Oct 2022 18:31:02 +0000 (14:31 -0400)
committerAndrew MacLeod <amacleod@redhat.com>
Mon, 17 Oct 2022 13:13:55 +0000 (09:13 -0400)
The oracle will not register nonssense/useless relations, class
value_relation shouldn't either.

* value-relation.cc (value_relation::dump): Change message.
* value-relation.h (value_relation::set_relation): If op1 is the
same as op2 do not create a relation.

gcc/value-relation.cc
gcc/value-relation.h

index 50fc190a36b23abb6e204007c758d8fd6fa444c5..3fb7b96c9e0ad3ea812f13425887814b8eb0b489 100644 (file)
@@ -891,7 +891,7 @@ value_relation::dump (FILE *f) const
 {
   if (!name1 || !name2)
     {
-      fprintf (f, "uninitialized");
+      fprintf (f, "no relation registered");
       return;
     }
   fputc ('(', f);
index a3bbe1e8157b8af4f6fe560bab7fcb1242ff9895..fa9097a8069ce6db2eef17f3a16e36b9fc882144 100644 (file)
@@ -349,6 +349,13 @@ value_relation::set_relation (relation_kind r, tree n1, tree n2)
 {
   gcc_checking_assert (TREE_CODE (n1) == SSA_NAME
                       && TREE_CODE (n2) == SSA_NAME);
+  if (n1 == n2)
+    {
+      related = VREL_VARYING;
+      name1 = NULL_TREE;
+      name2 = NULL_TREE;
+      return;
+    }
   related = r;
   name1 = n1;
   name2 = n2;