Page MenuHomePhabricator

[NFC][PowerPC] Move the folding RLWINMs from ppc-mi-peephole to PPCInstrInfo.
ClosedPublic

Authored by Esme on Oct 20 2020, 9:44 PM.

Details

Summary

We have the patterns to fold 2 RLWINMs in ppc-mi-peephole, while some RLWINM will be generated after RA, for example https://reviews.llvm.org/rGc4690b007743d2f564bc1156fdbdbcaad2adddcc. If the RLWINM generated after RA followed by another RLWINM, we expect to perform the optimization after RA, too.
This is a NFC patch to move the folding patterns to PPCInstrInfo, and the follow-up works will be calling it in pre-emit-peephole and expand the patterns to handle more cases.

Diff Detail

Unit TestsFailed

TimeTest
370 mslinux > HWAddressSanitizer-x86_64.TestCases::sizes.cpp
Script: -- : 'RUN: at line 3'; /mnt/disks/ssd0/agent/llvm-project/build/./bin/clang --driver-mode=g++ -m64 -gline-tables-only -fsanitize=hwaddress -fuse-ld=lld -mcmodel=large -mllvm -hwasan-globals -mllvm -hwasan-use-short-granules -mllvm -hwasan-instrument-landing-pads=0 -mllvm -hwasan-instrument-personality-functions /mnt/disks/ssd0/agent/llvm-project/compiler-rt/test/hwasan/TestCases/sizes.cpp -nostdlib++ -lstdc++ -o /mnt/disks/ssd0/agent/llvm-project/build/projects/compiler-rt/test/hwasan/X86_64/TestCases/Output/sizes.cpp.tmp

Event Timeline

Esme created this revision.Oct 20 2020, 9:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptOct 20 2020, 9:44 PM
Esme requested review of this revision.Oct 20 2020, 9:44 PM
Esme added a reviewer: Restricted Project.Oct 20 2020, 9:54 PM
Esme updated this revision to Diff 299576.Oct 21 2020, 12:30 AM
shchenz accepted this revision.Oct 21 2020, 6:18 PM

Thanks for trying to extend it for post-RA. This makes sense to me as some RLWINM will be generated after RA. One nit and please also fix the lint suggestions.

llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
3192

I think a more general name for this function would be better for later extension? For example simplifyRotateAndMaskInstr()

This revision is now accepted and ready to land.Oct 21 2020, 6:18 PM
This revision was landed with ongoing or failed builds.Nov 2 2020, 10:30 PM
This revision was automatically updated to reflect the committed changes.