diff options
author | Chris Lattner <sabre@nondot.org> | 2002-02-19 21:24:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-02-19 21:24:17 +0000 |
commit | a9a16c712ea4af90546ab3b3d36e54dcdd9fe356 (patch) | |
tree | 8664c525995e78439f2d687f5a500e6d7b0456e9 | |
parent | b41f94b828d12caa0ae6f3eae34d8a2d7c93eeb1 (diff) |
Fix isArrayAllocation() to be correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1779 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/iMemory.h | 4 | ||||
-rw-r--r-- | lib/VMCore/iMemory.cpp | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/include/llvm/iMemory.h b/include/llvm/iMemory.h index 13b1400d3a..ec04b281db 100644 --- a/include/llvm/iMemory.h +++ b/include/llvm/iMemory.h @@ -35,9 +35,9 @@ public: } // isArrayAllocation - Return true if there is an allocation size parameter - // to the allocation instruction. + // to the allocation instruction that is not 1. // - inline bool isArrayAllocation() const { return Operands.size() == 1; } + bool isArrayAllocation() const; inline const Value *getArraySize() const { assert(isArrayAllocation()); return Operands[0]; diff --git a/lib/VMCore/iMemory.cpp b/lib/VMCore/iMemory.cpp index 4226a69615..7280998a17 100644 --- a/lib/VMCore/iMemory.cpp +++ b/lib/VMCore/iMemory.cpp @@ -5,12 +5,18 @@ //===----------------------------------------------------------------------===// #include "llvm/iMemory.h" +#include "llvm/ConstantVals.h" static inline const Type *checkType(const Type *Ty) { assert(Ty && "Invalid indices for type!"); return Ty; } +bool AllocationInst::isArrayAllocation() const { + return getNumOperands() == 1 && + getOperand(0) != ConstantUInt::get(Type::UIntTy, 1); +} + //===----------------------------------------------------------------------===// // MemAccessInst Implementation //===----------------------------------------------------------------------===// |