-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add LLVM-specific integer arithmetic operations #788
base: master
Are you sure you want to change the base?
Conversation
There is still quite a bit repetition in the code, but I would like you to look over that for now. We can refactor that similar to the bitstring operations once the dust has settled. |
3d28242
to
65faa72
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The interface looks nice, with some duplication of course.
I have one question about the use of result(0)
.
In order to reduce duplication for some of the methods, maybe use of an additional helper superclass based on a curiously recurring template could be nice?
@haved I would not like to reduce the duplication yet, before we have not modeled all the semantics of the corresponding LLVM instructions. Once we have all the semantics in there, we can start to simplify. I hope that is okay for you. |
This PR replaces the old bitstring operations with new LLVM specific integer arithmetic operations. The implementations have currently still the following limitations:
At this point, the implementation only tries to get on par with the respective bitstring operations (minus the reductions). More LLVM specific semantics are going to be introduced in a future PR.