diff options
author | Chris Lattner <sabre@nondot.org> | 2004-07-13 08:28:21 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-07-13 08:28:21 +0000 |
commit | d9c9c496e639d4390cf485a3ca8b5d175f948055 (patch) | |
tree | 5133172fb451aef49a5f3cb99abea7c1baebdfc9 /llvm/lib/AsmParser/ParserInternals.h | |
parent | 30b35cf3f7a6c0bb1fd3d33d73c5e8463e0b0a66 (diff) | |
download | bcm5719-llvm-d9c9c496e639d4390cf485a3ca8b5d175f948055.tar.gz bcm5719-llvm-d9c9c496e639d4390cf485a3ca8b5d175f948055.zip |
Eliminate some mega-cruft here. There is no reason to DERIVE FROM IR CLASSES
just to keep track of some per-object state! Gaah! Whoever wrote this stuff...
oh wait, that would be me. Never mind.
llvm-svn: 14790
Diffstat (limited to 'llvm/lib/AsmParser/ParserInternals.h')
-rw-r--r-- | llvm/lib/AsmParser/ParserInternals.h | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/llvm/lib/AsmParser/ParserInternals.h b/llvm/lib/AsmParser/ParserInternals.h index 56852ab1f38..c8d5d13c37b 100644 --- a/llvm/lib/AsmParser/ParserInternals.h +++ b/llvm/lib/AsmParser/ParserInternals.h @@ -158,60 +158,6 @@ struct ValID { } }; - - -template<class SuperType> -class PlaceholderValue : public SuperType { - ValID D; - int LineNum; -public: - PlaceholderValue(const Type *Ty, const ValID &d) : SuperType(Ty), D(d) { - LineNum = llvmAsmlineno; - } - ValID &getDef() { return D; } - int getLineNum() const { return LineNum; } -}; - -struct InstPlaceHolderHelper : public Instruction { - InstPlaceHolderHelper(const Type *Ty) : Instruction(Ty, UserOp1, "") {} - - virtual Instruction *clone() const { abort(); return 0; } - virtual const char *getOpcodeName() const { return "placeholder"; } -}; - -struct BBPlaceHolderHelper : public BasicBlock { - BBPlaceHolderHelper(const Type *Ty) : BasicBlock() { - assert(Ty == Type::LabelTy); - } -}; - -typedef PlaceholderValue<InstPlaceHolderHelper> ValuePlaceHolder; -typedef PlaceholderValue<BBPlaceHolderHelper> BBPlaceHolder; - -static inline ValID &getValIDFromPlaceHolder(const Value *Val) { - const Type *Ty = Val->getType(); - if (isa<PointerType>(Ty) && - isa<FunctionType>(cast<PointerType>(Ty)->getElementType())) - Ty = cast<PointerType>(Ty)->getElementType(); - - switch (Ty->getTypeID()) { - case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getDef(); - default: return ((ValuePlaceHolder*)Val)->getDef(); - } -} - -static inline int getLineNumFromPlaceHolder(const Value *Val) { - const Type *Ty = Val->getType(); - if (isa<PointerType>(Ty) && - isa<FunctionType>(cast<PointerType>(Ty)->getElementType())) - Ty = cast<PointerType>(Ty)->getElementType(); - - switch (Ty->getTypeID()) { - case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getLineNum(); - default: return ((ValuePlaceHolder*)Val)->getLineNum(); - } -} - } // End llvm namespace #endif |