[llvm] 1ef4d3b - [X86] canonicalizeBitSelect/combineLogicBlendIntoPBLENDV - avoid SDLoc duplication. NFC.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 14 02:02:38 PST 2024
Author: Simon Pilgrim
Date: 2024-11-14T10:02:24Z
New Revision: 1ef4d3b6bf9879a21b15e62e7d4323973914feb0
URL: https://github.com/llvm/llvm-project/commit/1ef4d3b6bf9879a21b15e62e7d4323973914feb0
DIFF: https://github.com/llvm/llvm-project/commit/1ef4d3b6bf9879a21b15e62e7d4323973914feb0.diff
LOG: [X86] canonicalizeBitSelect/combineLogicBlendIntoPBLENDV - avoid SDLoc duplication. NFC.
Reuse caller's equivalent SDLoc
Added:
Modified:
llvm/lib/Target/X86/X86ISelLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index f559c1b15ac712..c984c5b6da8735 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -50993,7 +50993,8 @@ static SDValue combineAnd(SDNode *N, SelectionDAG &DAG,
}
// Canonicalize OR(AND(X,C),AND(Y,~C)) -> OR(AND(X,C),ANDNP(C,Y))
-static SDValue canonicalizeBitSelect(SDNode *N, SelectionDAG &DAG,
+static SDValue canonicalizeBitSelect(SDNode *N, const SDLoc &DL,
+ SelectionDAG &DAG,
const X86Subtarget &Subtarget) {
assert(N->getOpcode() == ISD::OR && "Unexpected Opcode");
@@ -51033,8 +51034,6 @@ static SDValue canonicalizeBitSelect(SDNode *N, SelectionDAG &DAG,
return SDValue();
}
- SDLoc DL(N);
-
if (useVPTERNLOG(Subtarget, VT)) {
// Emit a VPTERNLOG node directly - 0xCA is the imm code for A?B:C.
// VPTERNLOG is only available as vXi32/64-bit types.
@@ -51097,7 +51096,8 @@ static bool matchLogicBlend(SDNode *N, SDValue &X, SDValue &Y, SDValue &Mask) {
// (or (and (m, (sub 0, x)), (pandn m, x)))
// into:
// (sub (xor X, M), M)
-static SDValue combineLogicBlendIntoPBLENDV(SDNode *N, SelectionDAG &DAG,
+static SDValue combineLogicBlendIntoPBLENDV(SDNode *N, const SDLoc &DL,
+ SelectionDAG &DAG,
const X86Subtarget &Subtarget) {
assert(N->getOpcode() == ISD::OR && "Unexpected Opcode");
@@ -51122,8 +51122,6 @@ static SDValue combineLogicBlendIntoPBLENDV(SDNode *N, SelectionDAG &DAG,
if (!MaskVT.isInteger() || DAG.ComputeNumSignBits(Mask) != EltBits)
return SDValue();
- SDLoc DL(N);
-
// Attempt to combine to conditional negate: (sub (xor X, M), M)
if (SDValue Res = combineLogicBlendIntoConditionalNegate(VT, Mask, X, Y, DL,
DAG, Subtarget))
@@ -51607,10 +51605,10 @@ static SDValue combineOr(SDNode *N, SelectionDAG &DAG,
if (SDValue R = combineCompareEqual(N, DAG, DCI, Subtarget))
return R;
- if (SDValue R = canonicalizeBitSelect(N, DAG, Subtarget))
+ if (SDValue R = canonicalizeBitSelect(N, dl, DAG, Subtarget))
return R;
- if (SDValue R = combineLogicBlendIntoPBLENDV(N, DAG, Subtarget))
+ if (SDValue R = combineLogicBlendIntoPBLENDV(N, dl, DAG, Subtarget))
return R;
// (0 - SetCC) | C -> (zext (not SetCC)) * (C + 1) - 1 if we can get a LEA out of it.
More information about the llvm-commits
mailing list