From: Chris Lattner Date: Fri, 14 Nov 2003 06:38:46 +0000 (+0000) Subject: Fix PR 110: the constant folding code assumes that if something is not a X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8dc6ba9a12c04444196c8231833a55b0630d2838;p=oota-llvm.git Fix PR 110: the constant folding code assumes that if something is not a constant expression, but is of (for example) ubyte type, then it is a ConstantUInt. This was not true for placeholders. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9994 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Bytecode/Reader/ReaderInternals.h b/lib/Bytecode/Reader/ReaderInternals.h index 81ccde97fff..c75c6557648 100644 --- a/lib/Bytecode/Reader/ReaderInternals.h +++ b/lib/Bytecode/Reader/ReaderInternals.h @@ -14,7 +14,7 @@ #ifndef READER_INTERNALS_H #define READER_INTERNALS_H -#include "llvm/Constant.h" +#include "llvm/Constants.h" #include "llvm/DerivedTypes.h" #include "llvm/Function.h" #include "llvm/ModuleProvider.h" @@ -201,10 +201,8 @@ public: unsigned getID() { return ID; } }; -struct ConstantPlaceHolderHelper : public Constant { - ConstantPlaceHolderHelper(const Type *Ty) - : Constant(Ty) {} - virtual bool isNullValue() const { return false; } +struct ConstantPlaceHolderHelper : public ConstantExpr { + ConstantPlaceHolderHelper(const Type *Ty) : ConstantExpr(Instruction::UserOp1, Constant::getNullValue(Ty), Ty) {} }; typedef PlaceholderDef ConstPHolder;