From 64001d0a138cfff860a50aaa42f215028ca68be6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 24 Apr 2005 07:28:37 +0000 Subject: [PATCH] Allow these methods to take a generic Value* to simplify clients. Use const_cast instead of c casts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21493 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/Instructions.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/VMCore/Instructions.cpp b/lib/VMCore/Instructions.cpp index c3eacddcc3a..c2e7254e93a 100644 --- a/lib/VMCore/Instructions.cpp +++ b/lib/VMCore/Instructions.cpp @@ -823,27 +823,28 @@ bool BinaryOperator::isNot(const Value *V) { return false; } -Value *BinaryOperator::getNegArgument(BinaryOperator *Bop) { - assert(isNeg(Bop) && "getNegArgument from non-'neg' instruction!"); - return Bop->getOperand(1); +Value *BinaryOperator::getNegArgument(Value *BinOp) { + assert(isNeg(BinOp) && "getNegArgument from non-'neg' instruction!"); + return cast(BinOp)->getOperand(1); } -const Value *BinaryOperator::getNegArgument(const BinaryOperator *Bop) { - return getNegArgument((BinaryOperator*)Bop); +const Value *BinaryOperator::getNegArgument(const Value *BinOp) { + return getNegArgument(const_cast(BinOp)); } -Value *BinaryOperator::getNotArgument(BinaryOperator *Bop) { - assert(isNot(Bop) && "getNotArgument on non-'not' instruction!"); - Value *Op0 = Bop->getOperand(0); - Value *Op1 = Bop->getOperand(1); +Value *BinaryOperator::getNotArgument(Value *BinOp) { + assert(isNot(BinOp) && "getNotArgument on non-'not' instruction!"); + BinaryOperator *BO = cast(BinOp); + Value *Op0 = BO->getOperand(0); + Value *Op1 = BO->getOperand(1); if (isConstantAllOnes(Op0)) return Op1; assert(isConstantAllOnes(Op1)); return Op0; } -const Value *BinaryOperator::getNotArgument(const BinaryOperator *Bop) { - return getNotArgument((BinaryOperator*)Bop); +const Value *BinaryOperator::getNotArgument(const Value *BinOp) { + return getNotArgument(const_cast(BinOp)); }