mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-23 19:59:48 +00:00
Instructions: Use delegated constructors to reduce duplication
NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231411 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5f79fd2f02
commit
fdef53e098
@ -841,41 +841,19 @@ static Value *getAISize(LLVMContext &Context, Value *Amt) {
|
||||
return Amt;
|
||||
}
|
||||
|
||||
AllocaInst::AllocaInst(Type *Ty, Value *ArraySize,
|
||||
const Twine &Name, Instruction *InsertBefore)
|
||||
: UnaryInstruction(PointerType::getUnqual(Ty), Alloca,
|
||||
getAISize(Ty->getContext(), ArraySize), InsertBefore) {
|
||||
setAlignment(0);
|
||||
assert(!Ty->isVoidTy() && "Cannot allocate void!");
|
||||
setName(Name);
|
||||
}
|
||||
AllocaInst::AllocaInst(Type *Ty, const Twine &Name, Instruction *InsertBefore)
|
||||
: AllocaInst(Ty, /*ArraySize=*/nullptr, Name, InsertBefore) {}
|
||||
|
||||
AllocaInst::AllocaInst(Type *Ty, Value *ArraySize,
|
||||
const Twine &Name, BasicBlock *InsertAtEnd)
|
||||
: UnaryInstruction(PointerType::getUnqual(Ty), Alloca,
|
||||
getAISize(Ty->getContext(), ArraySize), InsertAtEnd) {
|
||||
setAlignment(0);
|
||||
assert(!Ty->isVoidTy() && "Cannot allocate void!");
|
||||
setName(Name);
|
||||
}
|
||||
AllocaInst::AllocaInst(Type *Ty, const Twine &Name, BasicBlock *InsertAtEnd)
|
||||
: AllocaInst(Ty, /*ArraySize=*/nullptr, Name, InsertAtEnd) {}
|
||||
|
||||
AllocaInst::AllocaInst(Type *Ty, const Twine &Name,
|
||||
AllocaInst::AllocaInst(Type *Ty, Value *ArraySize, const Twine &Name,
|
||||
Instruction *InsertBefore)
|
||||
: UnaryInstruction(PointerType::getUnqual(Ty), Alloca,
|
||||
getAISize(Ty->getContext(), nullptr), InsertBefore) {
|
||||
setAlignment(0);
|
||||
assert(!Ty->isVoidTy() && "Cannot allocate void!");
|
||||
setName(Name);
|
||||
}
|
||||
: AllocaInst(Ty, ArraySize, /*Align=*/0, Name, InsertBefore) {}
|
||||
|
||||
AllocaInst::AllocaInst(Type *Ty, const Twine &Name,
|
||||
AllocaInst::AllocaInst(Type *Ty, Value *ArraySize, const Twine &Name,
|
||||
BasicBlock *InsertAtEnd)
|
||||
: UnaryInstruction(PointerType::getUnqual(Ty), Alloca,
|
||||
getAISize(Ty->getContext(), nullptr), InsertAtEnd) {
|
||||
setAlignment(0);
|
||||
assert(!Ty->isVoidTy() && "Cannot allocate void!");
|
||||
setName(Name);
|
||||
}
|
||||
: AllocaInst(Ty, ArraySize, /*Align=*/0, Name, InsertAtEnd) {}
|
||||
|
||||
AllocaInst::AllocaInst(Type *Ty, Value *ArraySize, unsigned Align,
|
||||
const Twine &Name, Instruction *InsertBefore)
|
||||
@ -942,67 +920,27 @@ void LoadInst::AssertOK() {
|
||||
}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, Instruction *InsertBef)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertBef) {
|
||||
setVolatile(false);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
}
|
||||
: LoadInst(Ptr, Name, /*isVolatile=*/false, InsertBef) {}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, BasicBlock *InsertAE)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertAE) {
|
||||
setVolatile(false);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
}
|
||||
: LoadInst(Ptr, Name, /*isVolatile=*/false, InsertAE) {}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
Instruction *InsertBef)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertBef) {
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
}
|
||||
: LoadInst(Ptr, Name, isVolatile, /*Align=*/0, InsertBef) {}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
BasicBlock *InsertAE)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertAE) {
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
}
|
||||
: LoadInst(Ptr, Name, isVolatile, /*Align=*/0, InsertAE) {}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
unsigned Align, Instruction *InsertBef)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertBef) {
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(Align);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
}
|
||||
: LoadInst(Ptr, Name, isVolatile, Align, NotAtomic, CrossThread,
|
||||
InsertBef) {}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
unsigned Align, BasicBlock *InsertAE)
|
||||
: UnaryInstruction(cast<PointerType>(Ptr->getType())->getElementType(),
|
||||
Load, Ptr, InsertAE) {
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(Align);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
setName(Name);
|
||||
: LoadInst(Ptr, Name, isVolatile, Align, NotAtomic, CrossThread, InsertAE) {
|
||||
}
|
||||
|
||||
LoadInst::LoadInst(Value *Ptr, const Twine &Name, bool isVolatile,
|
||||
@ -1097,60 +1035,29 @@ void StoreInst::AssertOK() {
|
||||
"Alignment required for atomic store");
|
||||
}
|
||||
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, Instruction *InsertBefore)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertBefore) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(false);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
: StoreInst(val, addr, /*isVolatile=*/false, InsertBefore) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, BasicBlock *InsertAtEnd)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertAtEnd) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(false);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
: StoreInst(val, addr, /*isVolatile=*/false, InsertAtEnd) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
Instruction *InsertBefore)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertBefore) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
: StoreInst(val, addr, isVolatile, /*Align=*/0, InsertBefore) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
unsigned Align, Instruction *InsertBefore)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertBefore) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(Align);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
BasicBlock *InsertAtEnd)
|
||||
: StoreInst(val, addr, isVolatile, /*Align=*/0, InsertAtEnd) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile, unsigned Align,
|
||||
Instruction *InsertBefore)
|
||||
: StoreInst(val, addr, isVolatile, Align, NotAtomic, CrossThread,
|
||||
InsertBefore) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile, unsigned Align,
|
||||
BasicBlock *InsertAtEnd)
|
||||
: StoreInst(val, addr, isVolatile, Align, NotAtomic, CrossThread,
|
||||
InsertAtEnd) {}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
unsigned Align, AtomicOrdering Order,
|
||||
@ -1168,34 +1075,6 @@ StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
AssertOK();
|
||||
}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
BasicBlock *InsertAtEnd)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertAtEnd) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(0);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
unsigned Align, BasicBlock *InsertAtEnd)
|
||||
: Instruction(Type::getVoidTy(val->getContext()), Store,
|
||||
OperandTraits<StoreInst>::op_begin(this),
|
||||
OperandTraits<StoreInst>::operands(this),
|
||||
InsertAtEnd) {
|
||||
Op<0>() = val;
|
||||
Op<1>() = addr;
|
||||
setVolatile(isVolatile);
|
||||
setAlignment(Align);
|
||||
setAtomic(NotAtomic);
|
||||
AssertOK();
|
||||
}
|
||||
|
||||
StoreInst::StoreInst(Value *val, Value *addr, bool isVolatile,
|
||||
unsigned Align, AtomicOrdering Order,
|
||||
SynchronizationScope SynchScope,
|
||||
|
Loading…
Reference in New Issue
Block a user