compiler: Attempt to hoist a load in set.
authorTyler J. Stachecki <stachecki.tyler@gmail.com>
Sun, 23 Apr 2017 13:19:18 +0000 (09:19 -0400)
committerTyler J. Stachecki <stachecki.tyler@gmail.com>
Sun, 23 Apr 2017 13:19:18 +0000 (09:19 -0400)
Not sure if this will make a difference or not, but try
to coerce the compiler into hoisting the load for the tree
traversal before doing the check while doing set inserts.

Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com>
compiler/set.c

index 2ce9595..d92d28f 100644 (file)
@@ -39,12 +39,12 @@ int cen64_compiler_set_add(struct cen64_compiler_set *set, unsigned value) {
   while (check != set->nil) {
     cur = check;
 
-    if (value == cur->value)
-      return 1;
-
     check = value < cur->value
       ? check->left
       : check->right;
+
+    if (value == cur->value)
+      return 1;
   }
 
   /* Not in the tree yet; add the item to the set */