cranelift: Remove iconst.i128#5075
Conversation
|
Hmm, I think something is still not quite right with bugpoint, it produces the correct results, but it does a bunch of passes before getting there. |
cfallin
left a comment
There was a problem hiding this comment.
Thanks! This will be a nice simplification.
|
I found some issues while fuzzing with egraphs after applying this patch where rematerialization is still inserting an Here's the current test case: I'm also worried that |
1bc5377 to
a53f644
Compare
a53f644 to
47bd355
Compare
|
So, the I don't think we ever trigger that issue with the We had some Otherwise the fuzzer has stopped complaining about inserting |
74f9589 to
c77e82a
Compare
cfallin
left a comment
There was a problem hiding this comment.
Thanks for the updates! The non-orthogonality causing us to not do some rewrites is kind of unfortunate (and this is the cost we were worried about originally) but IMHO it's not too major, and the benefits (clarity in what will actually fit) outweigh it.
👋 Hey,
This is a fix for the issue that was discovered in #5046 where
iconst.i128was causing issues and we decided to remove it.I think most of the codegen differences are different register selection, except for the x64 tests where it de-duplicated some zeroing of registers.
Bugpoint also had to be updated to recognize the new pattern of
uextend+iconstwhen minimizing these cases.cc: @cfallin