[all-commits] [llvm/llvm-project] 5da2c0: [X86][ISel] Fix VPTERNLOG matching ensuring the In...

Yi-Chi Lee via All-commits all-commits at lists.llvm.org
Wed Nov 5 13:57:58 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5da2c09e6ad3d18c14071e3b2833f4da9b70b6b8
      https://github.com/llvm/llvm-project/commit/5da2c09e6ad3d18c14071e3b2833f4da9b70b6b8
  Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
  Date:   2025-11-05 (Wed, 05 Nov 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    R llvm/test/CodeGen/X86/issue163738.ll
    A llvm/test/CodeGen/X86/vpternlog.ll

  Log Message:
  -----------
  [X86][ISel] Fix VPTERNLOG matching ensuring the InnerOp is logicOp (#166591)

This patch fixes a crash in `tryVPTERNLOG` when trying to peel out the
outer not in cases like `~(A | B | C)`.

Previously, `InnerOp` was taken directly from `Op->getOperand(0)` before
verifying that it was a logical operation. As a result, the code could
later access `InnerOp->getOperand(0)` or `InnerOp->getOperand(1)` even
when `InnerOp` was something like a bitcast, causing an error.

This patch applies `getFoldableLogicOp` to `InnerOp`, ensuring that
`InnerOp` is a valid logic operation before it is dereferenced.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list