diff --git a/lib/VMCore/InstrTypes.cpp b/lib/VMCore/InstrTypes.cpp deleted file mode 100644 index 5d0e727ccc6..00000000000 --- a/lib/VMCore/InstrTypes.cpp +++ /dev/null @@ -1,64 +0,0 @@ -//===-- InstrTypes.cpp - Implement Instruction subclasses -------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file implements -// -//===----------------------------------------------------------------------===// - -#include "llvm/Instructions.h" -#include "llvm/Function.h" -#include "llvm/SymbolTable.h" -#include "llvm/Constant.h" -#include "llvm/Type.h" -#include // find -using namespace llvm; - -//===----------------------------------------------------------------------===// -// TerminatorInst Class -//===----------------------------------------------------------------------===// - -TerminatorInst::TerminatorInst(Instruction::TermOps iType, Instruction *IB) - : Instruction(Type::VoidTy, iType, "", IB) { -} - -TerminatorInst::TerminatorInst(Instruction::TermOps iType, BasicBlock *IAE) - : Instruction(Type::VoidTy, iType, "", IAE) { -} - - - -//===----------------------------------------------------------------------===// -// PHINode Class -//===----------------------------------------------------------------------===// - -PHINode::PHINode(const PHINode &PN) - : Instruction(PN.getType(), Instruction::PHI) { - Operands.reserve(PN.Operands.size()); - for (unsigned i = 0; i < PN.Operands.size(); i+=2) { - Operands.push_back(Use(PN.Operands[i], this)); - Operands.push_back(Use(PN.Operands[i+1], this)); - } -} - -// removeIncomingValue - Remove an incoming value. This is useful if a -// predecessor basic block is deleted. -Value *PHINode::removeIncomingValue(unsigned Idx, bool DeletePHIIfEmpty) { - assert(Idx*2 < Operands.size() && "BB not in PHI node!"); - Value *Removed = Operands[Idx*2]; - Operands.erase(Operands.begin()+Idx*2, // Erase Value and BasicBlock - Operands.begin()+Idx*2+2); - - // If the PHI node is dead, because it has zero entries, nuke it now. - if (getNumOperands() == 0 && DeletePHIIfEmpty) { - // If anyone is using this PHI, make them use a dummy value instead... - replaceAllUsesWith(Constant::getNullValue(getType())); - getParent()->getInstList().erase(this); - } - return Removed; -}