summaryrefslogtreecommitdiff
path: root/lib/Support
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-04-28 20:25:15 +0000
committerDan Gohman <gohman@apple.com>2008-04-28 20:25:15 +0000
commit3e2dda63d03b84e558c757fae67ee8fe028b9124 (patch)
treebefc8ee5a44402629f91dc16d686a442f109088b /lib/Support
parent00acf97feb2cba053a07505dfad9116ad09aae7a (diff)
downloadllvm-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.cpp2
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;