aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/StreamingMemoryObject.cpp
diff options
context:
space:
mode:
authorJingyue Wu <jingyue@google.com>2014-11-12 18:09:15 +0000
committerJingyue Wu <jingyue@google.com>2014-11-12 18:09:15 +0000
commit8a12cea5f1e954363f1b31f48aacc8c3dba90928 (patch)
tree71a692f0e7970da867af50eae477f6a1581a2451 /llvm/lib/Support/StreamingMemoryObject.cpp
parent7777b50eaf04ebc9e90c3e553244dc81f11669cb (diff)
downloadllvm-8a12cea5f1e954363f1b31f48aacc8c3dba90928.zip
llvm-8a12cea5f1e954363f1b31f48aacc8c3dba90928.tar.gz
llvm-8a12cea5f1e954363f1b31f48aacc8c3dba90928.tar.bz2
Disable indvar widening if arithmetics on the wider type are more expensive
Summary: Reapply r221772. The old patch breaks the bot because the @indvar_32_bit test was run whether NVPTX was enabled or not. IndVarSimplify should not widen an indvar if arithmetics on the wider indvar are more expensive than those on the narrower indvar. For instance, although NVPTX64 treats i64 as a legal type, an ADD on i64 is twice as expensive as that on i32, because the hardware needs to simulate a 64-bit integer using two 32-bit integers. Split from D6188, and based on D6195 which adds NVPTXTargetTransformInfo. Fixes PR21148. Test Plan: Added @indvar_32_bit that verifies we do not widen an indvar if the arithmetics on the wider type are more expensive. This test is run only when NVPTX is enabled. Reviewers: jholewinski, eliben, meheff, atrick Reviewed By: atrick Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D6196 llvm-svn: 221799
Diffstat (limited to 'llvm/lib/Support/StreamingMemoryObject.cpp')
0 files changed, 0 insertions, 0 deletions