[all-commits] [llvm/llvm-project] 254c52: [DAGCombiner] match inverted/swapped patterns for ...

RotateRight via All-commits all-commits at lists.llvm.org
Sun Nov 14 06:48:38 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 254c5246e9204f4d799f41c09068243e3a308177
      https://github.com/llvm/llvm-project/commit/254c5246e9204f4d799f41c09068243e3a308177
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-11-14 (Sun, 14 Nov 2021)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/cmp-select-sign.ll
    M llvm/test/CodeGen/AArch64/vselect-constants.ll
    M llvm/test/CodeGen/X86/vselect-zero.ll

  Log Message:
  -----------
  [DAGCombiner] match inverted/swapped patterns for vselect of mask of signbit

This was noted as a follow-up to D113212 / D113426:
4fc1fc4005f7
7e30404c3b6c
11522cfcad6b

https://alive2.llvm.org/ce/z/e4o96b

The canonicalization rules for these IR patterns are complicated,
and we were not matching the expected forms in 2 out of the 3
cases. We can make codegen more robust by matching the swapped
forms (and that will also work if these patterns are created late).




More information about the All-commits mailing list