aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-29 00:33:32 +0000
committerChris Lattner <sabre@nondot.org>2005-01-29 00:33:32 +0000
commit265287f714f3eade72ff54e92678709498415c20 (patch)
treeae04138491f55486058db2a06c471edc97d163b7
parent5181ac8081dd6c7d78613a5da8829f81a81e9e63 (diff)
This file is now merged into Instructions.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19889 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/VMCore/InstrTypes.cpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/lib/VMCore/InstrTypes.cpp b/lib/VMCore/InstrTypes.cpp
deleted file mode 100644
index 5d0e727ccc..0000000000
--- 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 <algorithm> // 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;
-}