[all-commits] [llvm/llvm-project] ace051: [IntegerDivision][AMDGPU] Use CreateLogicalOr to b...

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Sep 15 09:58:06 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ace05124f5494173ae4769259d49f33d75d6f76b
      https://github.com/llvm/llvm-project/commit/ace05124f5494173ae4769259d49f33d75d6f76b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-09-15 (Thu, 15 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/IntegerDivision.cpp
    M llvm/test/CodeGen/AMDGPU/sdiv64.ll
    M llvm/test/CodeGen/AMDGPU/srem64.ll
    M llvm/test/CodeGen/AMDGPU/udiv64.ll
    M llvm/test/CodeGen/X86/expand-large-div-rem-sdiv129.ll
    M llvm/test/CodeGen/X86/expand-large-div-rem-srem129.ll
    M llvm/test/CodeGen/X86/expand-large-div-rem-udiv129.ll
    M llvm/test/CodeGen/X86/expand-large-div-rem-urem129.ll
    M llvm/unittests/Transforms/Utils/IntegerDivisionTest.cpp

  Log Message:
  -----------
  [IntegerDivision][AMDGPU] Use CreateLogicalOr to block poison propagation.

There are two ctlz intrinsics here with the zero_is_poison flag
set. There are also two comparisons that check if either of the
inputs the ctlzs are zero. We need to use a logical or to block
the poison from the ctlz if either of the inputs is zero.

Reviewed By: arsenm, aqjune

Differential Revision: https://reviews.llvm.org/D130680




More information about the All-commits mailing list