This is completely NFC.
Follow-ups will enhance this xform to handle binary ops where one operand must be ignored,
and to make those changes easier to review, this is the refactoring-only change.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
40498 | Given we know that N0 is a binop - all this generic zip/enumate iteration code seems unnecessary tbh. |
@RKSimon if you prefer, you may write these changes by yourself. I can abandon these patches.
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
40498 | This is a generalization. Currently, the code does exactly the same, In fact, that is the whole reason why LLVM is seeing such an explosion of code size, |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
40498 | (to be most specific: the code to deal unops is still a specialization of the code |
I just don't understand why would anyone write this any other way.
Manual loop unrolling results in more code, and worse code.
@RKSimon just so we can save everyone's time, can you please explain how you request this to look?
Given we know that N0 is a binop - all this generic zip/enumate iteration code seems unnecessary tbh.