diff options
author | Chris Lattner <sabre@nondot.org> | 2002-09-16 18:32:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-09-16 18:32:33 +0000 |
commit | 8e2e5f74daf4dfa741634c4b1e2c65d5dcd18c2e (patch) | |
tree | af0f28735ded2ea7ac1d9eceeba24edf4dcc58b8 /lib/Transforms/ExprTypeConvert.cpp | |
parent | 6170504cce6b75698d559745892913ebd50f464c (diff) |
Fix: test/Regression/LLC/badidx.c problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3763 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/ExprTypeConvert.cpp')
-rw-r--r-- | lib/Transforms/ExprTypeConvert.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Transforms/ExprTypeConvert.cpp b/lib/Transforms/ExprTypeConvert.cpp index ab4edf3366..08ebc03fb5 100644 --- a/lib/Transforms/ExprTypeConvert.cpp +++ b/lib/Transforms/ExprTypeConvert.cpp @@ -53,13 +53,13 @@ static bool MallocConvertableToType(MallocInst *MI, const Type *Ty, if (!Expr.Offset && !Expr.Scale && OldTypeSize == 1) return false; // Get the offset and scale of the allocation... - int OffsetVal = Expr.Offset ? getConstantValue(Expr.Offset) : 0; - int ScaleVal = Expr.Scale ? getConstantValue(Expr.Scale) : (Expr.Var ? 1 : 0); + int64_t OffsetVal = Expr.Offset ? getConstantValue(Expr.Offset) : 0; + int64_t ScaleVal = Expr.Scale ? getConstantValue(Expr.Scale) :(Expr.Var != 0); // The old type might not be of unit size, take old size into consideration // here... - int Offset = OffsetVal * OldTypeSize; - int Scale = ScaleVal * OldTypeSize; + int64_t Offset = OffsetVal * OldTypeSize; + int64_t Scale = ScaleVal * OldTypeSize; // In order to be successful, both the scale and the offset must be a multiple // of the requested data type's size. @@ -87,13 +87,13 @@ static Instruction *ConvertMallocToType(MallocInst *MI, const Type *Ty, unsigned OldTypeSize = TD.getTypeSize(MI->getType()->getElementType()); // Get the offset and scale coefficients that we are allocating... - int OffsetVal = (Expr.Offset ? getConstantValue(Expr.Offset) : 0); - int ScaleVal = Expr.Scale ? getConstantValue(Expr.Scale) : (Expr.Var ? 1 : 0); + int64_t OffsetVal = (Expr.Offset ? getConstantValue(Expr.Offset) : 0); + int64_t ScaleVal = Expr.Scale ? getConstantValue(Expr.Scale) : (Expr.Var !=0); // The old type might not be of unit size, take old size into consideration // here... - unsigned Offset = (unsigned)OffsetVal * OldTypeSize / DataSize; - unsigned Scale = (unsigned)ScaleVal * OldTypeSize / DataSize; + unsigned Offset = (uint64_t)OffsetVal * OldTypeSize / DataSize; + unsigned Scale = (uint64_t)ScaleVal * OldTypeSize / DataSize; // Locate the malloc instruction, because we may be inserting instructions It = MI; |