Closed madmann91 closed 9 years ago
I tried on current new_master (thorin and impala branches). It seems to work there. Once I've fixed the remaining issues in new_master I will merge new_master back to master. Can you plz try if on new_master you get the expected result?
Just checked this on new-master branch (I re-compiled impala and thorin), and I still have the issue. Did you run impala with -emit-llvm ? The assertion is triggered only when you pass this option (or -emit-thorin). Otherwise there might be something I'm missing.
Oh turns out I was using a local branch 'new-master' instead of new_master. Still, it does not compile. It says 'merge_lambdas.cpp' is missing.
The file "il.cpp" is also missing.
Reconfigure cmake, those files have been removed in the new_master branch.
You are right. This bug seems to have disappeared. You can mark this issue as resolved then. Note that my benchmark suite that compiled in under 20 seconds with the previous version now takes more than 20 minutes to compile (I didn't wait for the end so it might not even terminate). But this is another issue.
This is one of the major reasons I haven't merged back to master.
Here is a simple code that generates an assertion `pred->direct_succs().size() == 1 && "critical edge"' failure. The strange thing is that if you remove the @ on the if branch, or if you leave it but replace the push_node calls by the equivalent inlined code, it works fine. It even works when you add @ signs on each push_node call and remove the @ on the branch.