aboutsummaryrefslogtreecommitdiff
path: root/lib/Support/Unix/ThreadLocal.inc
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2013-02-05 15:08:02 +0000
committerArnold Schwaighofer <aschwaighofer@apple.com>2013-02-05 15:08:02 +0000
commit935645b7655a0b5189d40b3d65b3bcb14e30d859 (patch)
treede502da9e44f1930cd496e6e0667ab1bbb340d2a /lib/Support/Unix/ThreadLocal.inc
parentb9e1a33941d25faf54dc3ddec4be7f8f0750a155 (diff)
Loop Vectorizer: Handle pointer stores/loads in getWidestType()
In the loop vectorizer cost model, we used to ignore stores/loads of a pointer type when computing the widest type within a loop. This meant that if we had only stores/loads of pointers in a loop we would return a widest type of 8bits (instead of 32 or 64 bit) and therefore a vector factor that was too big. Now, if we see a consecutive store/load of pointers we use the size of a pointer (from data layout). This problem occured in SingleSource/Benchmarks/Shootout-C++/hash.cpp (reduced test case is the first test in vector_ptr_load_store.ll). radar://13139343 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174377 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/Unix/ThreadLocal.inc')
0 files changed, 0 insertions, 0 deletions