mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-18 13:34:04 +00:00
use abstract accessors to CallInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101899 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eb1f4b1899
commit
a9b2313c13
@ -160,7 +160,7 @@ namespace {
|
|||||||
Args.clear();
|
Args.clear();
|
||||||
Args.append(CI->op_begin() + 1, CI->op_end());
|
Args.append(CI->op_begin() + 1, CI->op_end());
|
||||||
|
|
||||||
InvokeInst *II = InvokeInst::Create(CI->getOperand(0),
|
InvokeInst *II = InvokeInst::Create(CI->getCalledValue(),
|
||||||
NewBB, CleanupBB,
|
NewBB, CleanupBB,
|
||||||
Args.begin(), Args.end(),
|
Args.begin(), Args.end(),
|
||||||
CI->getName(), CallBB);
|
CI->getName(), CallBB);
|
||||||
|
@ -2295,10 +2295,10 @@ static bool EvaluateFunction(Function *F, Constant *&RetVal,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Cannot handle inline asm.
|
// Cannot handle inline asm.
|
||||||
if (isa<InlineAsm>(CI->getOperand(0))) return false;
|
if (isa<InlineAsm>(CI->getCalledValue())) return false;
|
||||||
|
|
||||||
// Resolve function pointers.
|
// Resolve function pointers.
|
||||||
Function *Callee = dyn_cast<Function>(getVal(Values, CI->getOperand(0)));
|
Function *Callee = dyn_cast<Function>(getVal(Values, CI->getCalledValue()));
|
||||||
if (!Callee) return false; // Cannot resolve.
|
if (!Callee) return false; // Cannot resolve.
|
||||||
|
|
||||||
SmallVector<Constant*, 8> Formals;
|
SmallVector<Constant*, 8> Formals;
|
||||||
|
@ -287,7 +287,7 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
|
|||||||
const Type *Tys[3] = { CI.getOperand(1)->getType(),
|
const Type *Tys[3] = { CI.getOperand(1)->getType(),
|
||||||
CI.getOperand(2)->getType(),
|
CI.getOperand(2)->getType(),
|
||||||
CI.getOperand(3)->getType() };
|
CI.getOperand(3)->getType() };
|
||||||
CI.setOperand(0,
|
CI.setCalledFunction(
|
||||||
Intrinsic::getDeclaration(M, MemCpyID, Tys, 3));
|
Intrinsic::getDeclaration(M, MemCpyID, Tys, 3));
|
||||||
Changed = true;
|
Changed = true;
|
||||||
}
|
}
|
||||||
@ -526,7 +526,7 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
|
|||||||
// X + 0 -> {X, false}
|
// X + 0 -> {X, false}
|
||||||
if (RHS->isZero()) {
|
if (RHS->isZero()) {
|
||||||
Constant *V[] = {
|
Constant *V[] = {
|
||||||
UndefValue::get(II->getOperand(0)->getType()),
|
UndefValue::get(II->getCalledValue()->getType()),
|
||||||
ConstantInt::getFalse(II->getContext())
|
ConstantInt::getFalse(II->getContext())
|
||||||
};
|
};
|
||||||
Constant *Struct = ConstantStruct::get(II->getContext(), V, 2, false);
|
Constant *Struct = ConstantStruct::get(II->getContext(), V, 2, false);
|
||||||
|
@ -744,7 +744,7 @@ bool MemCpyOpt::processMemMove(MemMoveInst *M) {
|
|||||||
const Type *ArgTys[3] = { M->getRawDest()->getType(),
|
const Type *ArgTys[3] = { M->getRawDest()->getType(),
|
||||||
M->getRawSource()->getType(),
|
M->getRawSource()->getType(),
|
||||||
M->getLength()->getType() };
|
M->getLength()->getType() };
|
||||||
M->setOperand(0,Intrinsic::getDeclaration(Mod, Intrinsic::memcpy, ArgTys, 3));
|
M->setCalledFunction(Intrinsic::getDeclaration(Mod, Intrinsic::memcpy, ArgTys, 3));
|
||||||
|
|
||||||
// MemDep may have over conservative information about this instruction, just
|
// MemDep may have over conservative information about this instruction, just
|
||||||
// conservatively flush it from the cache.
|
// conservatively flush it from the cache.
|
||||||
|
@ -1316,7 +1316,7 @@ void SROA::RewriteMemIntrinUserOfAlloca(MemIntrinsic *MI, Instruction *Inst,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Process each element of the aggregate.
|
// Process each element of the aggregate.
|
||||||
Value *TheFn = MI->getOperand(0);
|
Value *TheFn = MI->getCalledValue();
|
||||||
const Type *BytePtrTy = MI->getRawDest()->getType();
|
const Type *BytePtrTy = MI->getRawDest()->getType();
|
||||||
bool SROADest = MI->getRawDest() == Inst;
|
bool SROADest = MI->getRawDest() == Inst;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user