summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-07-19 00:59:10 +0000
committerChris Lattner <sabre@nondot.org>2004-07-19 00:59:10 +0000
commit5230e7083472a57dbc1d31dc20a7bb3a4b18e98f (patch)
tree3a9d6af09e12fab571bca404791f8b3586fa0d2e /llvm/lib
parent370f8871a6ba646e8c97d3055e3a4700df7980b9 (diff)
downloadbcm5719-llvm-5230e7083472a57dbc1d31dc20a7bb3a4b18e98f.tar.gz
bcm5719-llvm-5230e7083472a57dbc1d31dc20a7bb3a4b18e98f.zip
classof implementations are now inlined
llvm-svn: 14987
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/VMCore/Constants.cpp47
1 files changed, 5 insertions, 42 deletions
diff --git a/llvm/lib/VMCore/Constants.cpp b/llvm/lib/VMCore/Constants.cpp
index ff944877a78..6d59b61d996 100644
--- a/llvm/lib/VMCore/Constants.cpp
+++ b/llvm/lib/VMCore/Constants.cpp
@@ -269,14 +269,14 @@ ConstantStruct::ConstantStruct(const StructType *T,
}
ConstantExpr::ConstantExpr(unsigned Opcode, Constant *C, const Type *Ty)
- : Constant(Ty), iType(Opcode) {
+ : Constant(Ty, ConstantExprVal), iType(Opcode) {
Operands.reserve(1);
Operands.push_back(Use(C, this));
}
// Select instruction creation ctor
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.push_back(Use(C, this));
Operands.push_back(Use(V1, this));
@@ -291,7 +291,8 @@ static bool isSetCC(unsigned Opcode) {
}
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.push_back(Use(C1, 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,
const Type *DestTy)
- : Constant(DestTy), iType(Instruction::GetElementPtr) {
+ : Constant(DestTy, ConstantExprVal), iType(Instruction::GetElementPtr) {
Operands.reserve(1+IdxList.size());
Operands.push_back(Use(C, this));
for (unsigned i = 0, E = IdxList.size(); i != E; ++i)
@@ -383,44 +384,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
bool ConstantSInt::isValueValidForType(const Type *Ty, int64_t Val) {
OpenPOWER on IntegriCloud