mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
classof implementations are now inlined
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14987 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
52eb13c58e
commit
ab4c19ec3e
@ -269,14 +269,14 @@ ConstantStruct::ConstantStruct(const StructType *T,
|
|||||||
}
|
}
|
||||||
|
|
||||||
ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C, const Type *Ty)
|
ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C, const Type *Ty)
|
||||||
: Constant(Ty), iType(Opcode) {
|
: Constant(Ty, ConstantExprVal), iType(Opcode) {
|
||||||
Operands.reserve(1);
|
Operands.reserve(1);
|
||||||
Operands.push_back(Use(C, this));
|
Operands.push_back(Use(C, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Select instruction creation ctor
|
// Select instruction creation ctor
|
||||||
ConstantExpr::ConstantExpr(Constant *C, Constant *V1, Constant *V2)
|
ConstantExpr::ConstantExpr(Constant *C, Constant *V1, Constant *V2)
|
||||||
: Constant(V1->getType()), iType(Instruction::Select) {
|
: Constant(V1->getType(), ConstantExprVal), iType(Instruction::Select) {
|
||||||
Operands.reserve(3);
|
Operands.reserve(3);
|
||||||
Operands.push_back(Use(C, this));
|
Operands.push_back(Use(C, this));
|
||||||
Operands.push_back(Use(V1, this));
|
Operands.push_back(Use(V1, this));
|
||||||
@ -291,7 +291,8 @@ static bool isSetCC(unsigned Opcode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C1, Constant *C2)
|
ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C1, Constant *C2)
|
||||||
: Constant(isSetCC(Opcode) ? Type::BoolTy : C1->getType()), iType(Opcode) {
|
: Constant(isSetCC(Opcode) ? Type::BoolTy : C1->getType(), ConstantExprVal),
|
||||||
|
iType(Opcode) {
|
||||||
Operands.reserve(2);
|
Operands.reserve(2);
|
||||||
Operands.push_back(Use(C1, this));
|
Operands.push_back(Use(C1, this));
|
||||||
Operands.push_back(Use(C2, this));
|
Operands.push_back(Use(C2, this));
|
||||||
@ -299,7 +300,7 @@ ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C1, Constant *C2)
|
|||||||
|
|
||||||
ConstantExpr::ConstantExpr(Constant *C, const std::vector<Constant*> &IdxList,
|
ConstantExpr::ConstantExpr(Constant *C, const std::vector<Constant*> &IdxList,
|
||||||
const Type *DestTy)
|
const Type *DestTy)
|
||||||
: Constant(DestTy), iType(Instruction::GetElementPtr) {
|
: Constant(DestTy, ConstantExprVal), iType(Instruction::GetElementPtr) {
|
||||||
Operands.reserve(1+IdxList.size());
|
Operands.reserve(1+IdxList.size());
|
||||||
Operands.push_back(Use(C, this));
|
Operands.push_back(Use(C, this));
|
||||||
for (unsigned i = 0, E = IdxList.size(); i != E; ++i)
|
for (unsigned i = 0, E = IdxList.size(); i != E; ++i)
|
||||||
@ -382,44 +383,6 @@ Constant *ConstantExpr::getSShr(Constant *C1, Constant *C2) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
|
||||||
// classof implementations
|
|
||||||
|
|
||||||
bool ConstantIntegral::classof(const Constant *CPV) {
|
|
||||||
return CPV->getType()->isIntegral() && !isa<ConstantExpr>(CPV);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ConstantInt::classof(const Constant *CPV) {
|
|
||||||
return CPV->getType()->isInteger() && !isa<ConstantExpr>(CPV);
|
|
||||||
}
|
|
||||||
bool ConstantSInt::classof(const Constant *CPV) {
|
|
||||||
return CPV->getType()->isSigned() && !isa<ConstantExpr>(CPV);
|
|
||||||
}
|
|
||||||
bool ConstantUInt::classof(const Constant *CPV) {
|
|
||||||
return CPV->getType()->isUnsigned() && !isa<ConstantExpr>(CPV);
|
|
||||||
}
|
|
||||||
bool ConstantFP::classof(const Constant *CPV) {
|
|
||||||
const Type *Ty = CPV->getType();
|
|
||||||
return ((Ty == Type::FloatTy || Ty == Type::DoubleTy) &&
|
|
||||||
!isa<ConstantExpr>(CPV));
|
|
||||||
}
|
|
||||||
bool ConstantAggregateZero::classof(const Constant *CPV) {
|
|
||||||
return (isa<ArrayType>(CPV->getType()) || isa<StructType>(CPV->getType())) &&
|
|
||||||
CPV->isNullValue();
|
|
||||||
}
|
|
||||||
bool ConstantArray::classof(const Constant *CPV) {
|
|
||||||
return isa<ArrayType>(CPV->getType()) && !CPV->isNullValue();
|
|
||||||
}
|
|
||||||
bool ConstantStruct::classof(const Constant *CPV) {
|
|
||||||
return isa<StructType>(CPV->getType()) && !CPV->isNullValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ConstantPointerNull::classof(const Constant *CPV) {
|
|
||||||
return !isa<GlobalValue>(CPV) && isa<PointerType>(CPV->getType()) && !isa<ConstantExpr>(CPV) &&
|
|
||||||
CPV->getNumOperands() == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
// isValueValidForType implementations
|
// isValueValidForType implementations
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user