[all-commits] [llvm/llvm-project] b8ec8f: [X86] Remove extra getOperand(0) call from recentl...

topperc via All-commits all-commits at lists.llvm.org
Tue Aug 25 16:20:13 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b8ec8f57764e37e7eebed436332b87b46084eb11
      https://github.com/llvm/llvm-project/commit/b8ec8f57764e37e7eebed436332b87b46084eb11
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-08-25 (Tue, 25 Aug 2020)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    A llvm/test/CodeGen/X86/oss-fuzz-25184.ll

  Log Message:
  -----------
  [X86] Remove extra getOperand(0) call from recently introduced store(extract_element(vtrunc)) to truncated store combine.

The IsExtractedElement already called getOperand(0) so Extract
here is the source vector. We shouldn't call getOperand(0). This
worked for the original test cases because the result was a
bitcast so the getOperand(0) accidently peeked through the bitcast
which is what we wanted.

In the failing case here, the operand turns out to be undef so
the getOperand(0) asserts because undef has no operands.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25184

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




More information about the All-commits mailing list