If ConstEval fails do not log_abort() but return gracefully
authorEddie Hung <eddie@fpgeh.com>
Sat, 13 Jul 2019 11:13:57 +0000 (04:13 -0700)
committerEddie Hung <eddie@fpgeh.com>
Sat, 13 Jul 2019 11:13:57 +0000 (04:13 -0700)
passes/techmap/extract_fa.cc

index 9e6dc0d24c632ca106d438ca8b81530ae171dae4..8de57e769091be7b1c2281f452a5774b24b3e6e3 100644 (file)
@@ -174,8 +174,10 @@ struct ExtractFaWorker
 
                                SigSpec sig = root;
 
-                               if (!ce.eval(sig))
-                                       log_abort();
+                               if (ce.eval(sig)) {
+                                       ce.pop();
+                                       return;
+                               }
 
                                if (sig == State::S1)
                                        func |= 1 << i;
@@ -214,8 +216,10 @@ struct ExtractFaWorker
 
                                SigSpec sig = root;
 
-                               if (!ce.eval(sig))
-                                       log_abort();
+                               if (ce.eval(sig)) {
+                                       ce.pop();
+                                       return;
+                               }
 
                                if (sig == State::S1)
                                        func |= 1 << i;