diff options
| author | David Green <david.green@arm.com> | 2019-07-04 08:58:58 +0000 |
|---|---|---|
| committer | David Green <david.green@arm.com> | 2019-07-04 08:58:58 +0000 |
| commit | 2b20ee4110ec69402ec84ea3a122df8c7eacc144 (patch) | |
| tree | 4661bdec5c7dbd7788118dca6f23d859b66b05bc /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 147547ee80b4715bfc0f97e8c079d1163ec317d9 (diff) | |
[ARM] Favour PL/MI over GE/LT when possible
The arm condition codes for GE is N==V (and for LT is N!=V). If the source of
flags cannot set V (overflow), such as a cmp against #0, then we can use the
simpler PL and MI conditions that only check N. As these PL/MI conditions are
simpler than GE/LT, other passes like the peephole optimiser can have a better
time optimising away the redundant CMPs.
The exception is the VSEL instruction, which cannot take the PL code, so there
the transform favours GE.
Differential Revision: https://reviews.llvm.org/D64160
llvm-svn: 365117
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
