mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-05 13:09:10 +00:00
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
This commit is contained in:
parent
353835447c
commit
64001d0a13
@ -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<BinaryOperator>(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<Value*>(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<BinaryOperator>(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<Value*>(BinOp));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user