[llvm] 067f2e9 - [SelectionDAG] Use getSignedConstant/getAllOnesConstant.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 17 00:25:58 PDT 2024
Author: Craig Topper
Date: 2024-08-17T00:04:01-07:00
New Revision: 067f2e9f18e1c92496202dc37428a89945f57c22
URL: https://github.com/llvm/llvm-project/commit/067f2e9f18e1c92496202dc37428a89945f57c22
DIFF: https://github.com/llvm/llvm-project/commit/067f2e9f18e1c92496202dc37428a89945f57c22.diff
LOG: [SelectionDAG] Use getSignedConstant/getAllOnesConstant.
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index e75db2950579f6..8064cc7963b7ac 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -9561,7 +9561,7 @@ SDValue DAGCombiner::visitXOR(SDNode *N) {
// A rotate left of ~1 is a nice way of achieving the desired result.
if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT) && N0Opcode == ISD::SHL &&
isAllOnesConstant(N1) && isOneConstant(N0.getOperand(0))) {
- return DAG.getNode(ISD::ROTL, DL, VT, DAG.getConstant(~1, DL, VT),
+ return DAG.getNode(ISD::ROTL, DL, VT, DAG.getSignedConstant(~1, DL, VT),
N0.getOperand(1));
}
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
index 9d78044456e025..c19a5a4995627a 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
@@ -3302,7 +3302,7 @@ void DAGTypeLegalizer::ExpandIntRes_MINMAX(SDNode *N,
SDValue HiNeg =
DAG.getSetCC(DL, CCT, LHSH, DAG.getConstant(0, DL, NVT), ISD::SETLT);
if (N->getOpcode() == ISD::SMIN) {
- Lo = DAG.getSelect(DL, NVT, HiNeg, LHSL, DAG.getConstant(-1, DL, NVT));
+ Lo = DAG.getSelect(DL, NVT, HiNeg, LHSL, DAG.getAllOnesConstant(DL, NVT));
} else {
Lo = DAG.getSelect(DL, NVT, HiNeg, DAG.getConstant(0, DL, NVT), LHSL);
}
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 2401bb5a347e2d..2c6f7c09e5ca63 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -2443,9 +2443,9 @@ SDValue SelectionDAG::expandVAArg(SDNode *Node) {
VAList = getNode(ISD::ADD, dl, VAList.getValueType(), VAList,
getConstant(MA->value() - 1, dl, VAList.getValueType()));
- VAList =
- getNode(ISD::AND, dl, VAList.getValueType(), VAList,
- getConstant(-(int64_t)MA->value(), dl, VAList.getValueType()));
+ VAList = getNode(
+ ISD::AND, dl, VAList.getValueType(), VAList,
+ getSignedConstant(-(int64_t)MA->value(), dl, VAList.getValueType()));
}
// Increment the pointer, VAList, to the next vaarg
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 87f6b4388a728c..b0f26b54fe4253 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -12532,8 +12532,10 @@ void SelectionDAGBuilder::visitVectorSplice(const CallInst &I) {
// VECTOR_SHUFFLE doesn't support a scalable mask so use a dedicated node.
if (VT.isScalableVector()) {
- setValue(&I, DAG.getNode(ISD::VECTOR_SPLICE, DL, VT, V1, V2,
- DAG.getVectorIdxConstant(Imm, DL)));
+ setValue(
+ &I, DAG.getNode(ISD::VECTOR_SPLICE, DL, VT, V1, V2,
+ DAG.getSignedConstant(
+ Imm, DL, TLI.getVectorIdxTy(DAG.getDataLayout()))));
return;
}
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index 3c499ca6007808..0bf84ebb90db59 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -9185,8 +9185,8 @@ SDValue TargetLowering::expandVPCTLZ(SDNode *Node, SelectionDAG &DAG) const {
DAG.getNode(ISD::VP_SRL, dl, VT, Op, Tmp, Mask, VL), Mask,
VL);
}
- Op = DAG.getNode(ISD::VP_XOR, dl, VT, Op, DAG.getConstant(-1, dl, VT), Mask,
- VL);
+ Op = DAG.getNode(ISD::VP_XOR, dl, VT, Op, DAG.getAllOnesConstant(dl, VT),
+ Mask, VL);
return DAG.getNode(ISD::VP_CTPOP, dl, VT, Op, Mask, VL);
}
@@ -9299,7 +9299,7 @@ SDValue TargetLowering::expandVPCTTZ(SDNode *Node, SelectionDAG &DAG) const {
// Same as the vector part of expandCTTZ, use: popcount(~x & (x - 1))
SDValue Not = DAG.getNode(ISD::VP_XOR, dl, VT, Op,
- DAG.getConstant(-1, dl, VT), Mask, VL);
+ DAG.getAllOnesConstant(dl, VT), Mask, VL);
SDValue MinusOne = DAG.getNode(ISD::VP_SUB, dl, VT, Op,
DAG.getConstant(1, dl, VT), Mask, VL);
SDValue Tmp = DAG.getNode(ISD::VP_AND, dl, VT, Not, MinusOne, Mask, VL);
More information about the llvm-commits
mailing list