-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Assertion `Returns.empty() && "Returns cloned when cloning loop."' failed. #32
Comments
Apologies, was away on vacation. Quick question: is this using your clang frontend? Likewise would it be possible to post the IR at the start of loopspawning. My guess is that there is a memory-related thing on the loop bounds. |
Using your cilk-clang master. Only happens with optimizations turned on |
Are you sure this is the latest version? [The hashes in your error don't seem to be in the X most recent commits and I tried compiling the ll file with the latest version and it seems fine up to a linker error.] |
Yep, getting the error running Strange that it's not failing when compiling the In the above error message I believe I was using my local version, thus the different hash, but I'm seeing the error with your latest heads as well. |
I managed to recreate this error. I'll try to dive into the issue and see what's going wrong. |
@neboat I found the problematic |
The problematic LLVM IR:
|
Thanks for the info. Is this the IR you get from -O2 compilation? |
Nope, couldn't get the Tapir IR from -O2 due to the error reported above. I believe the above is -O0. Here's -O1:
|
You think it has to do with the interaction between exception handling, i.e. |
Ah, OK. (Sorry, I realized in hindsight that my question was silly.) Thanks again for the info. Now I know where to look. I suspect there's some issue with Tapir and exceptions, but I don't think it's the resume. (Still, it would be nice to have an excuse to implement my master plan for integrating exceptions with Tapir...) |
I'm glad to hear there's a master plan :). Seems like getting tapir and exceptions to play nicely could be non-trivial. |
OK, I think I've identified the problem, and it is with exception handling. A quick work around (that preserves the |
Thanks for the workaround, did the job for me. |
Wanted to give you a quick update. I'm currently testing a fix to Tapir's integration with exception-handling code. On my machine, I can now successfully build this test case without any work around. I would like to try running this test case and to try running the race detector on it. Can you please advise me on how to run this program? |
Nice! Assuming you've successfully built it, it should be |
When building the cilk version of a simple finite elements application: https://mantevo.org/downloads/miniFE_2.0.1.html
Have done a small amount of digging, but thought I'd submit an issue in case the fix is obvious to someone else. I'll keep digging in the meantime.
Error output:
The text was updated successfully, but these errors were encountered: