TheDan64 / inkwell

It's a New Kind of Wrapper for Exposing LLVM (Safely)
https://thedan64.github.io/inkwell/
Apache License 2.0
2.22k stars 217 forks source link

unifying apis that require sign flag. #495

Open LaoLittle opened 1 month ago

LaoLittle commented 1 month ago

Hi.

When I was using inkwell for code generation, I found that some operations (like div/rem) are divided into two functions because they require a sign flag to work.

And then I was using shift apis and was trying to figure out where is the build_right_shift_signed function, but there's only one function called build_right_shift which takes an argument to determine whether the operation is sign extended.

Describe the solution you'd like

Make the build_int_signed_op to build_int_op which takes an argument called sign_extend