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(V) && classof(cast(V)); } - Value *getLHS() const { return const_cast(getArgOperand(0)); } - Value *getRHS() const { return const_cast(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(V) && classof(cast(V)); } - Value *getLHS() const { return const_cast(getArgOperand(0)); } - Value *getRHS() const { return const_cast(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(V) && classof(cast(V)); } - Value *getLHS() const { return const_cast(getArgOperand(0)); } - Value *getRHS() const { return const_cast(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 { public: ConstantInt *getVolatileCst() const { - return cast(const_cast(getArgOperand(ARG_VOLATILE))); + return cast(getArgOperand(ARG_VOLATILE)); } bool isVolatile() const { return !getVolatileCst()->isZero(); } @@ -1180,7 +1180,7 @@ class MemSetPatternInst : public MemSetBase { public: ConstantInt *getVolatileCst() const { - return cast(const_cast(getArgOperand(ARG_VOLATILE))); + return cast(getArgOperand(ARG_VOLATILE)); } bool isVolatile() const { return !getVolatileCst()->isZero(); } @@ -1288,7 +1288,7 @@ class AnyMemIntrinsic : public MemIntrinsicBase { Value *getRawElementSizeInBytes() const { assert(isAtomic()); - return const_cast(getArgOperand(ARG_ELEMENTSIZE)); + return getArgOperand(ARG_ELEMENTSIZE); } uint32_t getElementSizeInBytes() const { @@ -1388,7 +1388,7 @@ class VAStartInst : public IntrinsicInst { return isa(V) && classof(cast(V)); } - Value *getArgList() const { return const_cast(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(V) && classof(cast(V)); } - Value *getArgList() const { return const_cast(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(V) && classof(cast(V)); } - Value *getDest() const { return const_cast(getArgOperand(0)); } - Value *getSrc() const { return const_cast(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(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(const_cast(getArgOperand(1))); - } + ConstantInt *getHash() const { return cast(getArgOperand(1)); } }; /// A base class for all instrprof counter intrinsics. @@ -1563,18 +1559,14 @@ class InstrProfValueProfileInst : public InstrProfCntrInstBase { return isa(V) && classof(cast(V)); } - Value *getTargetValue() const { - return cast(const_cast(getArgOperand(2))); - } + Value *getTargetValue() const { return cast(getArgOperand(2)); } ConstantInt *getValueKind() const { - return cast(const_cast(getArgOperand(3))); + return cast(getArgOperand(3)); } // Returns the value site index. - ConstantInt *getIndex() const { - return cast(const_cast(getArgOperand(4))); - } + ConstantInt *getIndex() const { return cast(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(const_cast(getArgOperand(2))); + return cast(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(const_cast(getArgOperand(2))); + return cast(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(const_cast(getArgOperand(3))); - } + Value *getMCDCCondBitmapAddr() const { return cast(getArgOperand(3)); } }; class PseudoProbeInst : public IntrinsicInst { @@ -1645,20 +1635,16 @@ class PseudoProbeInst : public IntrinsicInst { } ConstantInt *getFuncGuid() const { - return cast(const_cast(getArgOperand(0))); + return cast(getArgOperand(0)); } - ConstantInt *getIndex() const { - return cast(const_cast(getArgOperand(1))); - } + ConstantInt *getIndex() const { return cast(getArgOperand(1)); } ConstantInt *getAttributes() const { - return cast(const_cast(getArgOperand(2))); + return cast(getArgOperand(2)); } - ConstantInt *getFactor() const { - return cast(const_cast(getArgOperand(3))); - } + ConstantInt *getFactor() const { return cast(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(Call.getArgOperand(ArgNo)); + OpInfo.CallOperandVal = Call.getArgOperand(ArgNo); if (isa(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(const_cast(getArgOperand(2))); + return cast(getArgOperand(2)); } ConstantInt *InstrProfCntrInstBase::getIndex() const { if (InstrProfValueProfileInst::classof(this)) llvm_unreachable("Please use InstrProfValueProfileInst::getIndex()"); - return cast(const_cast(getArgOperand(3))); + return cast(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(getArgOperand(4)); + return getArgOperand(4); } const Module *M = getModule(); LLVMContext &Context = M->getContext();