diff options
| author | Jingyue Wu <jingyue@google.com> | 2014-11-12 06:58:45 +0000 |
|---|---|---|
| committer | Jingyue Wu <jingyue@google.com> | 2014-11-12 06:58:45 +0000 |
| commit | 635a9b14fa91dcd6aedadb37aa232c24817e76cd (patch) | |
| tree | dce9946fbf1faad094e29f38bdb80476b24f16b4 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 83a63877dc4ebfc2db71539a7be559205f6f547c (diff) | |
| download | llvm-635a9b14fa91dcd6aedadb37aa232c24817e76cd.zip llvm-635a9b14fa91dcd6aedadb37aa232c24817e76cd.tar.gz llvm-635a9b14fa91dcd6aedadb37aa232c24817e76cd.tar.bz2 | |
Disable indvar widening if arithmetics on the wider type are more expensive
Summary:
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.
Reviewers: jholewinski, eliben, meheff, atrick
Reviewed By: atrick
Subscribers: jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D6196
llvm-svn: 221772
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
