This implements
G_SELECT cc, %true, (G_ADD %x, 1) -> CSINC %true, %x, cc G_SELECT cc, (G_ADD %x, 1), %false -> CSINC %x, %false, inv_cc
Godbolt example: https://godbolt.org/z/eoPqKq
Paths
| Differential D92868
[AArch64][GlobalISel] Fold G_SELECT cc, %t, (G_ADD %x, 1) -> CSINC %t, %x, cc ClosedPublic Authored by paquette on Dec 8 2020, 10:26 AM.
Details Summary This implements G_SELECT cc, %true, (G_ADD %x, 1) -> CSINC %true, %x, cc G_SELECT cc, (G_ADD %x, 1), %false -> CSINC %x, %false, inv_cc Godbolt example: https://godbolt.org/z/eoPqKq
Diff Detail
Event TimelineHerald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka. · View Herald TranscriptDec 8 2020, 10:26 AM paquette added a parent revision: D92860: [AArch64][GlobalISel] Fold binops on the true side of G_SELECT.Dec 8 2020, 10:26 AM This revision is now accepted and ready to land.Dec 8 2020, 10:40 AM Closed by commit rG5b5d3fa9d9cf: [AArch64][GlobalISel] Fold G_SELECT cc, %t, (G_ADD %x, 1) -> CSINC %t, %x, cc (authored by paquette). · Explain WhyDec 8 2020, 10:53 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 310288 llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/select-select.mir
|