diff options
Diffstat (limited to 'llvm/lib/IR/ConstantsContext.h')
| -rw-r--r-- | llvm/lib/IR/ConstantsContext.h | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/llvm/lib/IR/ConstantsContext.h b/llvm/lib/IR/ConstantsContext.h index 4056c5748081..21ef1c0d9f64 100644 --- a/llvm/lib/IR/ConstantsContext.h +++ b/llvm/lib/IR/ConstantsContext.h @@ -209,36 +209,6 @@ public: } }; -/// ExtractValueConstantExpr - This class is private to -/// Constants.cpp, and is used behind the scenes to implement -/// extractvalue constant exprs. -class ExtractValueConstantExpr final : public ConstantExpr { -public: - ExtractValueConstantExpr(Constant *Agg, ArrayRef<unsigned> IdxList, - Type *DestTy) - : ConstantExpr(DestTy, Instruction::ExtractValue, &Op<0>(), 1), - Indices(IdxList.begin(), IdxList.end()) { - Op<0>() = Agg; - } - - // allocate space for exactly one operand - void *operator new(size_t S) { return User::operator new(S, 1); } - void operator delete(void *Ptr) { User::operator delete(Ptr); } - - /// Indices - These identify which value to extract. - const SmallVector<unsigned, 4> Indices; - - /// Transparently provide more efficient getOperand methods. - DECLARE_TRANSPARENT_OPERAND_ACCESSORS(Value); - - static bool classof(const ConstantExpr *CE) { - return CE->getOpcode() == Instruction::ExtractValue; - } - static bool classof(const Value *V) { - return isa<ConstantExpr>(V) && classof(cast<ConstantExpr>(V)); - } -}; - /// InsertValueConstantExpr - This class is private to /// Constants.cpp, and is used behind the scenes to implement /// insertvalue constant exprs. @@ -363,11 +333,6 @@ struct OperandTraits<ShuffleVectorConstantExpr> DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ShuffleVectorConstantExpr, Value) template <> -struct OperandTraits<ExtractValueConstantExpr> - : public FixedNumOperandTraits<ExtractValueConstantExpr, 1> {}; -DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ExtractValueConstantExpr, Value) - -template <> struct OperandTraits<InsertValueConstantExpr> : public FixedNumOperandTraits<InsertValueConstantExpr, 2> {}; DEFINE_TRANSPARENT_OPERAND_ACCESSORS(InsertValueConstantExpr, Value) @@ -620,8 +585,6 @@ public: return new ShuffleVectorConstantExpr(Ops[0], Ops[1], ShuffleMask); case Instruction::InsertValue: return new InsertValueConstantExpr(Ops[0], Ops[1], Indexes, Ty); - case Instruction::ExtractValue: - return new ExtractValueConstantExpr(Ops[0], Indexes, Ty); case Instruction::GetElementPtr: return GetElementPtrConstantExpr::Create(ExplicitTy, Ops[0], Ops.slice(1), Ty, SubclassOptionalData); |
