X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAsmParser%2FParserInternals.h;h=750833fae83cde59b9dd020333840aa10d3d5a9c;hb=7a1767520611d9ff6face702068de858e1cadf2c;hp=cc37bd9bf97100443978285b041ba338dabafeff;hpb=386a3b7b953a9de769824a7f3516d9dd3021d3e2;p=oota-llvm.git diff --git a/lib/AsmParser/ParserInternals.h b/lib/AsmParser/ParserInternals.h index cc37bd9bf97..750833fae83 100644 --- a/lib/AsmParser/ParserInternals.h +++ b/lib/AsmParser/ParserInternals.h @@ -13,12 +13,12 @@ #include "llvm/InstrTypes.h" #include "llvm/BasicBlock.h" -#include "llvm/ConstPoolVals.h" +#include "llvm/ConstantVals.h" #include "llvm/iOther.h" #include "llvm/Method.h" #include "llvm/DerivedTypes.h" #include "llvm/Assembly/Parser.h" -#include "llvm/Support/StringExtras.h" +#include "Support/StringExtras.h" class Module; @@ -160,13 +160,6 @@ public: int getLineNum() const { return LineNum; } }; -struct TypePlaceHolderHelper : public OpaqueType { - TypePlaceHolderHelper(const Type *Ty) : OpaqueType() { - assert(Ty == Type::TypeTy); - } -}; - - struct InstPlaceHolderHelper : public Instruction { InstPlaceHolderHelper(const Type *Ty) : Instruction(Ty, UserOp1, "") {} @@ -181,21 +174,20 @@ struct BBPlaceHolderHelper : public BasicBlock { }; struct MethPlaceHolderHelper : public Method { - MethPlaceHolderHelper(const Type *Ty) : Method(cast(Ty)) {} + MethPlaceHolderHelper(const Type *Ty) : Method(cast(Ty), + true) {} }; -typedef PlaceholderValue TypePlaceHolder; typedef PlaceholderValue ValuePlaceHolder; typedef PlaceholderValue BBPlaceHolder; static inline ValID &getValIDFromPlaceHolder(const Value *Val) { const Type *Ty = Val->getType(); if (isa(Ty) && - isa(cast(Ty)->getValueType())) - Ty = cast(Ty)->getValueType(); + isa(cast(Ty)->getElementType())) + Ty = cast(Ty)->getElementType(); switch (Ty->getPrimitiveID()) { - case Type::TypeTyID: return ((TypePlaceHolder*)Val)->getDef(); case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getDef(); default: return ((ValuePlaceHolder*)Val)->getDef(); } @@ -204,11 +196,10 @@ static inline ValID &getValIDFromPlaceHolder(const Value *Val) { static inline int getLineNumFromPlaceHolder(const Value *Val) { const Type *Ty = Val->getType(); if (isa(Ty) && - isa(cast(Ty)->getValueType())) - Ty = cast(Ty)->getValueType(); + isa(cast(Ty)->getElementType())) + Ty = cast(Ty)->getElementType(); switch (Ty->getPrimitiveID()) { - case Type::TypeTyID: return ((TypePlaceHolder*)Val)->getLineNum(); case Type::LabelTyID: return ((BBPlaceHolder*)Val)->getLineNum(); default: return ((ValuePlaceHolder*)Val)->getLineNum(); }