classof implementations are now inlined
authorChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 00:59:10 +0000 (00:59 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 19 Jul 2004 00:59:10 +0000 (00:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14987 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Constants.cpp

index ff944877a78fdbe37688a957480ed7cabc77c071..6d59b61d99615e72ffeb0058d403f27401d7634f 100644 (file)
@@ -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)
@@ -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