[llvm] [llvm] Remove an extraneous cast (NFC) (PR #144955)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 19 14:03:21 PDT 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/144955
llvm::CallBase::getArgOperand returns Value *, so we do not need
const_cast<Value *>.
>From b84ac74f38128462d26012afc408913eba4b6fc0 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Thu, 19 Jun 2025 13:40:29 -0700
Subject: [PATCH] [llvm] Remove an extraneous cast (NFC)
llvm::CallBase::getArgOperand returns Value *, so we do not need
const_cast<Value *>.
---
llvm/include/llvm/IR/IntrinsicInst.h | 64 ++++++++-----------
.../CodeGen/GlobalISel/InlineAsmLowering.cpp | 2 +-
llvm/lib/IR/IntrinsicInst.cpp | 6 +-
3 files changed, 29 insertions(+), 43 deletions(-)
diff --git a/llvm/include/llvm/IR/IntrinsicInst.h b/llvm/include/llvm/IR/IntrinsicInst.h
index 20e667524fa0d..d8f8bdeb01d43 100644
--- a/llvm/include/llvm/IR/IntrinsicInst.h
+++ b/llvm/include/llvm/IR/IntrinsicInst.h
@@ -779,8 +779,8 @@ class MinMaxIntrinsic : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getLHS() const { return const_cast<Value *>(getArgOperand(0)); }
- Value *getRHS() const { return const_cast<Value *>(getArgOperand(1)); }
+ Value *getLHS() const { return getArgOperand(0); }
+ Value *getRHS() const { return getArgOperand(1); }
/// Returns the comparison predicate underlying the intrinsic.
static ICmpInst::Predicate getPredicate(Intrinsic::ID ID) {
@@ -868,8 +868,8 @@ class CmpIntrinsic : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getLHS() const { return const_cast<Value *>(getArgOperand(0)); }
- Value *getRHS() const { return const_cast<Value *>(getArgOperand(1)); }
+ Value *getLHS() const { return getArgOperand(0); }
+ Value *getRHS() const { return getArgOperand(1); }
static bool isSigned(Intrinsic::ID ID) { return ID == Intrinsic::scmp; }
bool isSigned() const { return isSigned(getIntrinsicID()); }
@@ -914,8 +914,8 @@ class BinaryOpIntrinsic : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getLHS() const { return const_cast<Value *>(getArgOperand(0)); }
- Value *getRHS() const { return const_cast<Value *>(getArgOperand(1)); }
+ Value *getLHS() const { return getArgOperand(0); }
+ Value *getRHS() const { return getArgOperand(1); }
/// Returns the binary operation underlying the intrinsic.
LLVM_ABI Instruction::BinaryOps getBinaryOp() const;
@@ -1118,7 +1118,7 @@ class MemIntrinsic : public MemIntrinsicBase<MemIntrinsic> {
public:
ConstantInt *getVolatileCst() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(ARG_VOLATILE)));
+ return cast<ConstantInt>(getArgOperand(ARG_VOLATILE));
}
bool isVolatile() const { return !getVolatileCst()->isZero(); }
@@ -1180,7 +1180,7 @@ class MemSetPatternInst : public MemSetBase<MemIntrinsic> {
public:
ConstantInt *getVolatileCst() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(ARG_VOLATILE)));
+ return cast<ConstantInt>(getArgOperand(ARG_VOLATILE));
}
bool isVolatile() const { return !getVolatileCst()->isZero(); }
@@ -1288,7 +1288,7 @@ class AnyMemIntrinsic : public MemIntrinsicBase<AnyMemIntrinsic> {
Value *getRawElementSizeInBytes() const {
assert(isAtomic());
- return const_cast<Value *>(getArgOperand(ARG_ELEMENTSIZE));
+ return getArgOperand(ARG_ELEMENTSIZE);
}
uint32_t getElementSizeInBytes() const {
@@ -1388,7 +1388,7 @@ class VAStartInst : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getArgList() const { return const_cast<Value *>(getArgOperand(0)); }
+ Value *getArgList() const { return getArgOperand(0); }
};
/// This represents the llvm.va_end intrinsic.
@@ -1401,7 +1401,7 @@ class VAEndInst : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getArgList() const { return const_cast<Value *>(getArgOperand(0)); }
+ Value *getArgList() const { return getArgOperand(0); }
};
/// This represents the llvm.va_copy intrinsic.
@@ -1414,8 +1414,8 @@ class VACopyInst : public IntrinsicInst {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getDest() const { return const_cast<Value *>(getArgOperand(0)); }
- Value *getSrc() const { return const_cast<Value *>(getArgOperand(1)); }
+ Value *getDest() const { return getArgOperand(0); }
+ Value *getSrc() const { return getArgOperand(1); }
};
/// A base class for all instrprof intrinsics.
@@ -1457,16 +1457,12 @@ class InstrProfInstBase : public IntrinsicInst {
// The "name" operand of the profile instrumentation instruction - this is the
// operand that can be used to relate the instruction to the function it
// belonged to at instrumentation time.
- Value *getNameValue() const {
- return const_cast<Value *>(getArgOperand(0))->stripPointerCasts();
- }
+ Value *getNameValue() const { return getArgOperand(0)->stripPointerCasts(); }
void setNameValue(Value *V) { setArgOperand(0, V); }
// The hash of the CFG for the instrumented function.
- ConstantInt *getHash() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(1)));
- }
+ ConstantInt *getHash() const { return cast<ConstantInt>(getArgOperand(1)); }
};
/// A base class for all instrprof counter intrinsics.
@@ -1563,18 +1559,14 @@ class InstrProfValueProfileInst : public InstrProfCntrInstBase {
return isa<IntrinsicInst>(V) && classof(cast<IntrinsicInst>(V));
}
- Value *getTargetValue() const {
- return cast<Value>(const_cast<Value *>(getArgOperand(2)));
- }
+ Value *getTargetValue() const { return cast<Value>(getArgOperand(2)); }
ConstantInt *getValueKind() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(3)));
+ return cast<ConstantInt>(getArgOperand(3));
}
// Returns the value site index.
- ConstantInt *getIndex() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(4)));
- }
+ ConstantInt *getIndex() const { return cast<ConstantInt>(getArgOperand(4)); }
};
/// A base class for instrprof mcdc intrinsics that require global bitmap bytes.
@@ -1590,7 +1582,7 @@ class InstrProfMCDCBitmapInstBase : public InstrProfInstBase {
/// \return The number of bits used for the MCDC bitmaps for the instrumented
/// function.
ConstantInt *getNumBitmapBits() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(2)));
+ return cast<ConstantInt>(getArgOperand(2));
}
/// \return The number of bytes used for the MCDC bitmaps for the instrumented
@@ -1624,14 +1616,12 @@ class InstrProfMCDCTVBitmapUpdate : public InstrProfMCDCBitmapInstBase {
/// \return The index of the TestVector Bitmap upon which this intrinsic
/// acts.
ConstantInt *getBitmapIndex() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(2)));
+ return cast<ConstantInt>(getArgOperand(2));
}
/// \return The address of the corresponding condition bitmap containing
/// the index of the TestVector to update within the TestVector Bitmap.
- Value *getMCDCCondBitmapAddr() const {
- return cast<Value>(const_cast<Value *>(getArgOperand(3)));
- }
+ Value *getMCDCCondBitmapAddr() const { return cast<Value>(getArgOperand(3)); }
};
class PseudoProbeInst : public IntrinsicInst {
@@ -1645,20 +1635,16 @@ class PseudoProbeInst : public IntrinsicInst {
}
ConstantInt *getFuncGuid() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(0)));
+ return cast<ConstantInt>(getArgOperand(0));
}
- ConstantInt *getIndex() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(1)));
- }
+ ConstantInt *getIndex() const { return cast<ConstantInt>(getArgOperand(1)); }
ConstantInt *getAttributes() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(2)));
+ return cast<ConstantInt>(getArgOperand(2));
}
- ConstantInt *getFactor() const {
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(3)));
- }
+ ConstantInt *getFactor() const { return cast<ConstantInt>(getArgOperand(3)); }
};
class NoAliasScopeDeclInst : public IntrinsicInst {
diff --git a/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp b/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
index fbbbea6156fc7..b4e64d7416d86 100644
--- a/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
@@ -240,7 +240,7 @@ bool InlineAsmLowering::lowerInlineAsm(
// Compute the value type for each operand.
if (OpInfo.hasArg()) {
- OpInfo.CallOperandVal = const_cast<Value *>(Call.getArgOperand(ArgNo));
+ OpInfo.CallOperandVal = Call.getArgOperand(ArgNo);
if (isa<BasicBlock>(OpInfo.CallOperandVal)) {
LLVM_DEBUG(dbgs() << "Basic block input operands not supported yet\n");
diff --git a/llvm/lib/IR/IntrinsicInst.cpp b/llvm/lib/IR/IntrinsicInst.cpp
index 256bce1abe71f..b1d3339c5a414 100644
--- a/llvm/lib/IR/IntrinsicInst.cpp
+++ b/llvm/lib/IR/IntrinsicInst.cpp
@@ -239,13 +239,13 @@ void DbgAssignIntrinsic::setValue(Value *V) {
ConstantInt *InstrProfCntrInstBase::getNumCounters() const {
if (InstrProfValueProfileInst::classof(this))
llvm_unreachable("InstrProfValueProfileInst does not have counters!");
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(2)));
+ return cast<ConstantInt>(getArgOperand(2));
}
ConstantInt *InstrProfCntrInstBase::getIndex() const {
if (InstrProfValueProfileInst::classof(this))
llvm_unreachable("Please use InstrProfValueProfileInst::getIndex()");
- return cast<ConstantInt>(const_cast<Value *>(getArgOperand(3)));
+ return cast<ConstantInt>(getArgOperand(3));
}
void InstrProfCntrInstBase::setIndex(uint32_t Idx) {
@@ -255,7 +255,7 @@ void InstrProfCntrInstBase::setIndex(uint32_t Idx) {
Value *InstrProfIncrementInst::getStep() const {
if (InstrProfIncrementInstStep::classof(this)) {
- return const_cast<Value *>(getArgOperand(4));
+ return getArgOperand(4);
}
const Module *M = getModule();
LLVMContext &Context = M->getContext();
More information about the llvm-commits
mailing list