Only prefer connected signals iff they have public names
authorClifford Wolf <clifford@clifford.at>
Thu, 17 Oct 2013 20:10:55 +0000 (22:10 +0200)
committerClifford Wolf <clifford@clifford.at>
Thu, 17 Oct 2013 20:10:55 +0000 (22:10 +0200)
passes/opt/opt_clean.cc

index d76dafb3c51647db7949aa5b926f78d069b3b9b1..21ef320e2d93cf8a7eae6554d9f8be1aa1be3ae5 100644 (file)
@@ -112,11 +112,12 @@ static bool compare_signals(RTLIL::SigSpec &s1, RTLIL::SigSpec &s2, SigPool &reg
        if (w1->port_input != w2->port_input)
                return w2->port_input;
 
-       if (regs.check_any(s1) != regs.check_any(s2))
-               return regs.check_any(s2);
-
-       if (conns.check_any(s1) != conns.check_any(s2))
-               return conns.check_any(s2);
+       if (w1->name[0] == '\\' && w2->name[0] == '\\') {
+               if (regs.check_any(s1) != regs.check_any(s2))
+                       return regs.check_any(s2);
+               if (conns.check_any(s1) != conns.check_any(s2))
+                       return conns.check_any(s2);
+       }
 
        if (w1->port_output != w2->port_output)
                return w2->port_output;