Eliminate the instruction placeholder. Simplify a bunch of code.
authorChris Lattner <sabre@nondot.org>
Thu, 9 Oct 2003 06:14:26 +0000 (06:14 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 9 Oct 2003 06:14:26 +0000 (06:14 +0000)
This results in no significant speedup, but does provide simpler code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8980 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bytecode/Reader/Reader.cpp
lib/Bytecode/Reader/ReaderInternals.h

index 714d813a68502ff247191e2f2935a8bfd8af98b0..4011af7b0499fd8b1aaa588defb858f0ab00c680 100644 (file)
@@ -134,7 +134,7 @@ Value *BytecodeParser::getValue(unsigned type, unsigned oNum, bool Create) {
   if (I != ForwardReferences.end() && I->first == KeyValue)
     return I->second;   // We have already created this placeholder
 
-  Value *Val = new ValPHolder(getType(type), oNum);
+  Value *Val = new Argument(getType(type));
   ForwardReferences.insert(I, std::make_pair(KeyValue, Val));
   return Val;
 }
index d53fcab2326dc2e0e4c943914b58e191be7327e7..410be3a24ae38ce3d0d5d7d8467226254365de29 100644 (file)
@@ -203,20 +203,12 @@ public:
   unsigned getID() { return ID; }
 };
 
-struct InstPlaceHolderHelper : public Instruction {
-  InstPlaceHolderHelper(const Type *Ty) : Instruction(Ty, UserOp1, "") {}
-  virtual const char *getOpcodeName() const { return "placeholder"; }
-
-  virtual Instruction *clone() const { abort(); return 0; }
-};
-
 struct ConstantPlaceHolderHelper : public Constant {
   ConstantPlaceHolderHelper(const Type *Ty)
     : Constant(Ty) {}
   virtual bool isNullValue() const { return false; }
 };
 
-typedef PlaceholderDef<InstPlaceHolderHelper>  ValPHolder;
 typedef PlaceholderDef<ConstantPlaceHolderHelper>  ConstPHolder;
 
 // Some common errors we find
@@ -225,12 +217,6 @@ static const std::string Error_read      = "read(): error reading.";
 static const std::string Error_inputdata = "input_data(): error reading.";
 static const std::string Error_DestSlot  = "No destination slot found.";
 
-static inline unsigned getValueIDNumberFromPlaceHolder(Value *Val) {
-  if (isa<Constant>(Val))
-    return ((ConstPHolder*)Val)->getID();
-  return ((ValPHolder*)Val)->getID();
-}
-
 static inline void readBlock(const unsigned char *&Buf,
                              const unsigned char *EndBuf, 
                              unsigned &Type, unsigned &Size) {