forked from OSchip/llvm-project
parent
f79508fb59
commit
054ba2c002
|
@ -345,10 +345,6 @@ public:
|
|||
/// list of indices. The first ctor can optionally insert before an existing
|
||||
/// instruction, the second appends the new instruction to the specified
|
||||
/// BasicBlock.
|
||||
GetElementPtrInst(Value *Ptr, const std::vector<Value*> &Idx,
|
||||
const std::string &Name = "", Instruction *InsertBefore =0);
|
||||
GetElementPtrInst(Value *Ptr, const std::vector<Value*> &Idx,
|
||||
const std::string &Name, BasicBlock *InsertAtEnd);
|
||||
GetElementPtrInst(Value *Ptr, Value* const *Idx, unsigned NumIdx,
|
||||
const std::string &Name = "", Instruction *InsertBefore =0);
|
||||
GetElementPtrInst(Value *Ptr, Value* const *Idx, unsigned NumIdx,
|
||||
|
@ -383,11 +379,6 @@ public:
|
|||
Value* const *Idx, unsigned NumIdx,
|
||||
bool AllowStructLeaf = false);
|
||||
|
||||
static const Type *getIndexedType(const Type *Ptr,
|
||||
const std::vector<Value*> &Indices,
|
||||
bool AllowStructLeaf = false) {
|
||||
return getIndexedType(Ptr, &Indices[0], Indices.size(), AllowStructLeaf);
|
||||
}
|
||||
static const Type *getIndexedType(const Type *Ptr, Value *Idx0, Value *Idx1,
|
||||
bool AllowStructLeaf = false);
|
||||
static const Type *getIndexedType(const Type *Ptr, Value *Idx);
|
||||
|
@ -698,7 +689,7 @@ public:
|
|||
///
|
||||
class CallInst : public Instruction {
|
||||
CallInst(const CallInst &CI);
|
||||
void init(Value *Func, const std::vector<Value*> &Params);
|
||||
void init(Value *Func, Value* const *Params, unsigned NumParams);
|
||||
void init(Value *Func, Value *Actual1, Value *Actual2);
|
||||
void init(Value *Func, Value *Actual);
|
||||
void init(Value *Func);
|
||||
|
|
|
@ -196,19 +196,19 @@ CallInst::~CallInst() {
|
|||
delete [] OperandList;
|
||||
}
|
||||
|
||||
void CallInst::init(Value *Func, const std::vector<Value*> &Params) {
|
||||
NumOperands = Params.size()+1;
|
||||
Use *OL = OperandList = new Use[Params.size()+1];
|
||||
void CallInst::init(Value *Func, Value* const *Params, unsigned NumParams) {
|
||||
NumOperands = NumParams+1;
|
||||
Use *OL = OperandList = new Use[NumParams+1];
|
||||
OL[0].init(Func, this);
|
||||
|
||||
const FunctionType *FTy =
|
||||
cast<FunctionType>(cast<PointerType>(Func->getType())->getElementType());
|
||||
FTy = FTy; // silence warning.
|
||||
|
||||
assert((Params.size() == FTy->getNumParams() ||
|
||||
(FTy->isVarArg() && Params.size() > FTy->getNumParams())) &&
|
||||
assert((NumParams == FTy->getNumParams() ||
|
||||
(FTy->isVarArg() && NumParams > FTy->getNumParams())) &&
|
||||
"Calling a function with bad signature!");
|
||||
for (unsigned i = 0, e = Params.size(); i != e; ++i) {
|
||||
for (unsigned i = 0; i != NumParams; ++i) {
|
||||
assert((i >= FTy->getNumParams() ||
|
||||
FTy->getParamType(i) == Params[i]->getType()) &&
|
||||
"Calling a function with a bad signature!");
|
||||
|
@ -273,7 +273,7 @@ CallInst::CallInst(Value *Func, const std::vector<Value*> &Params,
|
|||
: Instruction(cast<FunctionType>(cast<PointerType>(Func->getType())
|
||||
->getElementType())->getReturnType(),
|
||||
Instruction::Call, 0, 0, Name, InsertBefore) {
|
||||
init(Func, Params);
|
||||
init(Func, &Params[0], Params.size());
|
||||
}
|
||||
|
||||
CallInst::CallInst(Value *Func, const std::vector<Value*> &Params,
|
||||
|
@ -281,7 +281,7 @@ CallInst::CallInst(Value *Func, const std::vector<Value*> &Params,
|
|||
: Instruction(cast<FunctionType>(cast<PointerType>(Func->getType())
|
||||
->getElementType())->getReturnType(),
|
||||
Instruction::Call, 0, 0, Name, InsertAtEnd) {
|
||||
init(Func, Params);
|
||||
init(Func, &Params[0], Params.size());
|
||||
}
|
||||
|
||||
CallInst::CallInst(Value *Func, Value *Actual1, Value *Actual2,
|
||||
|
@ -713,23 +713,6 @@ void GetElementPtrInst::init(Value *Ptr, Value *Idx) {
|
|||
OL[1].init(Idx, this);
|
||||
}
|
||||
|
||||
GetElementPtrInst::GetElementPtrInst(Value *Ptr, const std::vector<Value*> &Idx,
|
||||
const std::string &Name, Instruction *InBe)
|
||||
: Instruction(PointerType::get(checkType(getIndexedType(Ptr->getType(),
|
||||
&Idx[0], Idx.size(),
|
||||
true))),
|
||||
GetElementPtr, 0, 0, Name, InBe) {
|
||||
init(Ptr, &Idx[0], Idx.size());
|
||||
}
|
||||
|
||||
GetElementPtrInst::GetElementPtrInst(Value *Ptr, const std::vector<Value*> &Idx,
|
||||
const std::string &Name, BasicBlock *IAE)
|
||||
: Instruction(PointerType::get(checkType(getIndexedType(Ptr->getType(),
|
||||
&Idx[0], Idx.size(),
|
||||
true))),
|
||||
GetElementPtr, 0, 0, Name, IAE) {
|
||||
init(Ptr, &Idx[0], Idx.size());
|
||||
}
|
||||
|
||||
GetElementPtrInst::GetElementPtrInst(Value *Ptr, Value* const *Idx,
|
||||
unsigned NumIdx,
|
||||
|
|
Loading…
Reference in New Issue