[llvm] [NFC] Fix MSVC C4146 warnings in LLVM CodeGen and tools (PR #225580)
Younes Yazami via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 22 20:08:06 PDT 2026
https://github.com/yelidris-public created https://github.com/llvm/llvm-project/pull/225580
Fix remaining MSVC C4146 (unary minus applied to unsigned type) warnings
>From 0dbc72cc296a959482fb4337155b181dda215b64 Mon Sep 17 00:00:00 2001
From: yelidris <younes.elidrissiyazami at amd.com>
Date: Tue, 22 Sep 2026 23:04:48 -0400
Subject: [PATCH] [NFC] Fix MSVC C4146 warnings in LLVM CodeGen and tools
Fix remaining MSVC C4146 (unary minus applied to unsigned type)
warnings
---
llvm/include/llvm/CodeGen/BasicTTIImpl.h | 2 +-
llvm/include/llvm/CodeGen/CallingConvLower.h | 2 +-
llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 2 +-
llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h | 2 +-
llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp | 2 +-
llvm/tools/llvm-reduce/ReducerWorkItem.cpp | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
index 39915d4d8eec3e..0777861e203d4b 100644
--- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h
+++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h
@@ -2082,7 +2082,7 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase<T> {
return thisT()->getShuffleCost(
TTI::SK_Splice, cast<VectorType>(RetTy),
cast<VectorType>(Args[0]->getType()), CostKind, {},
- IID == Intrinsic::vector_splice_left ? Index : -Index,
+ IID == Intrinsic::vector_splice_left ? static_cast<int>(Index) : -static_cast<int>(Index),
cast<VectorType>(RetTy));
}
case Intrinsic::vector_reduce_add:
diff --git a/llvm/include/llvm/CodeGen/CallingConvLower.h b/llvm/include/llvm/CodeGen/CallingConvLower.h
index 45703744efe3a9..1af0982a6b5115 100644
--- a/llvm/include/llvm/CodeGen/CallingConvLower.h
+++ b/llvm/include/llvm/CodeGen/CallingConvLower.h
@@ -409,7 +409,7 @@ class CCState {
int64_t Offset;
if (NegativeOffsets) {
StackSize = alignTo(StackSize + Size, Alignment);
- Offset = -StackSize;
+ Offset = -static_cast<int64_t>(StackSize);
} else {
Offset = alignTo(StackSize, Alignment);
StackSize = Offset + Size;
diff --git a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
index 667c98f086827a..b4d84546958c39 100644
--- a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -1277,7 +1277,7 @@ inline SDValue::SDValue(SDNode *node, unsigned resno)
// combines.
assert((!Node || !ResNo || ResNo < Node->getNumValues()) &&
"Invalid result number for the given node!");
- assert(ResNo < -2U && "Cannot use result numbers reserved for DenseMaps.");
+ assert(ResNo < ~1U && "Cannot use result numbers reserved for DenseMaps.");
}
inline unsigned SDValue::getOpcode() const {
diff --git a/llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h b/llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
index c70c84315963f6..7e04e4125572f7 100644
--- a/llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
+++ b/llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
@@ -119,7 +119,7 @@ class DeadArgumentEliminationPass
private:
Liveness markIfNotLive(RetOrArg Use, UseVector &MaybeLiveUses);
Liveness surveyUse(const Use *U, UseVector &MaybeLiveUses,
- unsigned RetValNum = -1U);
+ unsigned RetValNum = ~0u);
Liveness surveyUses(const Value *V, UseVector &MaybeLiveUses);
void surveyFunction(const Function &F);
diff --git a/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp b/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
index 2e9fa50d7cff7d..3f243073a421a3 100644
--- a/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
@@ -1581,7 +1581,7 @@ Error MachOPlatform::MachOPlatformPlugin::populateObjCRuntimeObject(
SecBlock.addEdge(PointerEdge,
RecordOffset + ((char *)&SD.Sec.addr - (char *)&SD.Sec),
- *ObjCImageInfoSym, -SecBlock.getAddress().getValue());
+ *ObjCImageInfoSym, - static_cast<int64_t>(SecBlock.getAddress().getValue()));
};
}
diff --git a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp
index 6b202aec3e8f85..f274f6ba94c2dc 100644
--- a/llvm/tools/llvm-reduce/ReducerWorkItem.cpp
+++ b/llvm/tools/llvm-reduce/ReducerWorkItem.cpp
@@ -148,7 +148,7 @@ static void cloneFrameInfo(
// Copy the fixed frame objects backwards to preserve frame index numbers,
// since CreateFixedObject uses front insertion.
- for (int i = -1; i >= (int)-SrcMFI.getNumFixedObjects(); --i) {
+ for (int i = -1; i >= -static_cast<int>(SrcMFI.getNumFixedObjects()); --i) {
assert(SrcMFI.isFixedObjectIndex(i));
int NewFI = DstMFI.CreateFixedObject(
SrcMFI.getObjectSize(i), SrcMFI.getObjectOffset(i),
More information about the llvm-commits
mailing list