[all-commits] [llvm/llvm-project] 076bee: [DAG] getNode() - fold (zext (trunc (assertzext x)...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Mon Jul 31 02:43:33 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 076bee1020f7117758edf3bbc940951c10a20890
      https://github.com/llvm/llvm-project/commit/076bee1020f7117758edf3bbc940951c10a20890
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-07-31 (Mon, 31 Jul 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fold-vp-fadd-and-vp-fmul.ll
    M llvm/test/CodeGen/X86/extract-bits.ll

  Log Message:
  -----------
  [DAG] getNode() - fold (zext (trunc (assertzext x))) -> (assertzext x)

If the pre-truncated value was the same width as the extension, and the assertzext guarantees that the extended bits are already zero, then skip the zext/trunc 'zero_extend_inreg' pattern.

Addresses several regressions noticed in D155472




More information about the All-commits mailing list