[BypassSlowDivision] Improve our handling of divisions by constants
authorSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 26 Sep 2017 21:54:27 +0000 (21:54 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Tue, 26 Sep 2017 21:54:27 +0000 (21:54 +0000)
commiteda7a86d42ff6f62b93fd1c4d963385d436dfc08
tree62119b2758c1694e3d7ba655f27933f5473d9e96
parentbbfa246ad3c7c7bc7cf3184e64fbcc4fb483fe54
[BypassSlowDivision] Improve our handling of divisions by constants

Summary:
Don't bail out on constant divisors for divisions that can be narrowed without
introducing control flow .  This gives us a 32 bit multiply instead of an
emulated 64 bit multiply in the generated PTX assembly.

Reviewers: jlebar

Subscribers: jholewinski, mcrosier, llvm-commits

Differential Revision: https://reviews.llvm.org/D38265

llvm-svn: 314253
llvm/lib/Transforms/Utils/BypassSlowDivision.cpp
llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll