diff options
author | Dan Gohman <gohman@apple.com> | 2008-04-28 20:25:15 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-04-28 20:25:15 +0000 |
commit | 3e2dda63d03b84e558c757fae67ee8fe028b9124 (patch) | |
tree | befc8ee5a44402629f91dc16d686a442f109088b /lib/Support | |
parent | 00acf97feb2cba053a07505dfad9116ad09aae7a (diff) | |
download | llvm-3e2dda63d03b84e558c757fae67ee8fe028b9124.tar.gz llvm-3e2dda63d03b84e558c757fae67ee8fe028b9124.tar.bz2 llvm-3e2dda63d03b84e558c757fae67ee8fe028b9124.tar.xz |
Fix a pointer-arithmetic bug that caused 64-bit host pointer values to
be truncated to 32 bits. This fixes the recent Benchmarks/McCat/09-vor
regression on x86-64, among other things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50372 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support')
-rw-r--r-- | lib/Support/Allocator.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Support/Allocator.cpp b/lib/Support/Allocator.cpp index 8ccd390844..4b6f9ff7b1 100644 --- a/lib/Support/Allocator.cpp +++ b/lib/Support/Allocator.cpp @@ -48,7 +48,7 @@ public: void *Allocate(unsigned AllocSize, unsigned Alignment, MemRegion **RegPtr) { char* Result = (char*) (((uintptr_t) (NextPtr+Alignment-1)) - & ~(Alignment-1)); + & ~((uintptr_t) Alignment-1)); // Speculate the new value of NextPtr. char* NextPtrTmp = Result + AllocSize; |