This pass attempts to find instruction chains in one domain and convert them to equivalent instructions in another domain, if it is found profitable.
The patch adds support only for GPR->Mask conversions.
Paths
| Differential D37251
[X86] Add a pass to convert instruction chains between domains ClosedPublic Authored by guyblank on Aug 28 2017, 10:49 PM.
Details Summary This pass attempts to find instruction chains in one domain and convert them to equivalent instructions in another domain, if it is found profitable. The patch adds support only for GPR->Mask conversions.
Diff Detail
Event TimelineComment Actions Some initial comments. I need to look some more.
Comment Actions Thank you all for the comments.
This revision is now accepted and ready to land.Oct 16 2017, 1:16 PM Closed by commit rL316288: [X86] Add a pass to convert instruction chains between domains. (authored by guyblank). · Explain WhyOct 22 2017, 4:43 AM This revision was automatically updated to reflect the committed changes. Comment Actions Hi It looks like this pass has extreme compile time growth. On icelake machines (where we have AVX-512 enabled), we see llc taking about 18 seconds on an IR and this pass contributes about 17 seconds. There were also prior reproducers/issues added here: https://github.com/llvm/llvm-project/issues/41517 Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptOct 24 2023, 9:40 AM
Revision Contents
Diff 119786 llvm/trunk/lib/Target/X86/CMakeLists.txt
llvm/trunk/lib/Target/X86/X86.h
llvm/trunk/lib/Target/X86/X86DomainReassignment.cpp
llvm/trunk/lib/Target/X86/X86TargetMachine.cpp
llvm/trunk/test/CodeGen/X86/avx512-insert-extract.ll
llvm/trunk/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
llvm/trunk/test/CodeGen/X86/avx512-mask-op.ll
llvm/trunk/test/CodeGen/X86/avx512-schedule.ll
llvm/trunk/test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll
llvm/trunk/test/CodeGen/X86/avx512bwvl-intrinsics-fast-isel.ll
llvm/trunk/test/CodeGen/X86/domain-reassignment.mir
llvm/trunk/test/CodeGen/X86/gpr-to-mask.ll
|