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 | MBInLoHWord/MEInLoHWord are more descriptive. I first think H means Hi before reading comment. |
lib/Target/PowerPC/PPCInstrInfo.cpp | ||
---|---|---|
1912 | 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 | ||
---|---|---|
1814 | 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 | ||
---|---|---|
1814 | 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?
This change seems independent from other part of this patch. So this can be a separate patch.
Also it is nice to add an unit test for this part.