Eliminate nightmarish API

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12214 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-03-08 06:11:10 +00:00
parent e45a76c85b
commit 2296ec0ce9

View File

@ -1119,26 +1119,3 @@ void ConstantExpr::destroyConstant() {
const char *ConstantExpr::getOpcodeName() const {
return Instruction::getOpcodeName(getOpcode());
}
unsigned Constant::mutateReferences(Value *OldV, Value *NewV) {
// Uses of constant pointer refs are global values, not constants!
if (ConstantPointerRef *CPR = dyn_cast<ConstantPointerRef>(this)) {
GlobalValue *NewGV = cast<GlobalValue>(NewV);
GlobalValue *OldGV = CPR->getValue();
assert(OldGV == OldV && "Cannot mutate old value if I'm not using it!");
Operands[0] = NewGV;
OldGV->getParent()->mutateConstantPointerRef(OldGV, NewGV);
return 1;
} else {
Constant *NewC = cast<Constant>(NewV);
unsigned NumReplaced = 0;
for (unsigned i = 0, N = getNumOperands(); i != N; ++i)
if (Operands[i] == OldV) {
++NumReplaced;
Operands[i] = NewC;
}
return NumReplaced;
}
}