[all-commits] [llvm/llvm-project] 1894c6: [InstCombine] avoid infinite loop from partial und...

RotateRight via All-commits all-commits at lists.llvm.org
Wed Apr 7 09:28:33 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1894c6c59e37b47c284f2a5ebb92b73911e71e38
      https://github.com/llvm/llvm-project/commit/1894c6c59e37b47c284f2a5ebb92b73911e71e38
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-04-07 (Wed, 07 Apr 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-extractelement.ll

  Log Message:
  -----------
  [InstCombine] avoid infinite loop from partial undef vectors

This fixes the examples from
D99674 and
https://llvm.org/PR49878

The matchers succeed on partial undef/poison vector constants,
but the transform creates a full 'not' (-1) constant, so it
would undo a demanded vector elements change triggered by the
extractelement.

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




More information about the All-commits mailing list