Amend combo fix.
authorMichael Beck <mm.beck@gmx.net>
Tue, 3 May 2011 14:25:52 +0000 (16:25 +0200)
committerMichael Beck <mm.beck@gmx.net>
Tue, 3 May 2011 14:25:52 +0000 (16:25 +0200)
One more condition is needed to ensure monotony.

ir/opt/combo.c

index b930563..ad3d385 100644 (file)
@@ -2262,7 +2262,9 @@ static void compute_Cmp(node_t *node)
                   this breaks AND we get from the argument partitions a different
                   result, ensure monotony by fall to bottom.
                   This happens because initially all nodes are in the same partition ... */
-               if (node->type.tv != tv && is_constant_type(node->type))
+               if (node->type.tv == tarval_bottom)
+                       tv = tarval_bottom;
+               else if (node->type.tv != tv && is_constant_type(node->type))
                        tv = tarval_bottom;
                node->type.tv = tv;
        } else {