diff options
| author | Nikolai Bozhenov <nikolai.bozhenov@intel.com> | 2017-04-02 13:14:30 +0000 |
|---|---|---|
| committer | Nikolai Bozhenov <nikolai.bozhenov@intel.com> | 2017-04-02 13:14:30 +0000 |
| commit | fca527af5c5454efdde8cdf2c54d21074ac76c90 (patch) | |
| tree | f1f65b1617f4aba73c93c177d711bf0820c282fe /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | dddce31eb4961578564e0cd2671286b967e06b78 (diff) | |
[BypassSlowDivision] Do not bypass division of hash-like values
Disable bypassing if one of the operands looks like a hash value. Slow
division often occurs in hashtable implementations and fast division is
never taken there because a hash value is extremely unlikely to have
enough upper bits set to zero.
A value is considered to be hash-like if it is produced by
1) XOR operation
2) Multiplication by a constant wider than the shorter type
3) PHI node with all incoming values being hash-like
Differential Revision: https://reviews.llvm.org/D28200
llvm-svn: 299329
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
