This is a follow-up to the previous patch that eliminated some of the rotates. With this addition, we will also emit the record-form andis.
This patch increases the number of record-form rotates we eliminate by more than 70%.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Added the missing check for the record-form "and immediate shifted" as compares they feed are often redundant.
lib/Target/PowerPC/PPCInstrInfo.cpp | ||
---|---|---|
1912 ↗ | (On Diff #139907) | MBInLoHWord/MEInLoHWord are more descriptive. I first think H means Hi before reading comment. |
lib/Target/PowerPC/PPCInstrInfo.cpp | ||
---|---|---|
1912 ↗ | (On Diff #139907) | Thanks, that's a good idea. |
This patch increases the number of record-form rotates we emit by more than 70%.
Do you mean reducing the record-form rotates by 70%? If so, it is great!
lib/Target/PowerPC/PPCInstrInfo.cpp | ||
---|---|---|
1803 ↗ | (On Diff #148844) | This change seems independent from other part of this patch. So this can be a separate patch. |
Remove the orthogonal change that allows us to optimize compares fed by record-form ANDIS.
Oops! Yes this patch definitely causes a reduction in the number of record-form rotates :)
I updated the description (it was meant to say eliminate rather than emit).
lib/Target/PowerPC/PPCInstrInfo.cpp | ||
---|---|---|
1803 ↗ | (On Diff #148844) | Both great points (this part being orthogonal as well as needing its own test case). Separate patch in https://reviews.llvm.org/D51353 |
@inouehrs I think I've addressed your comments adequately. Do you have any further comments or can you accept this revision?