diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-08-19 20:51:40 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-08-19 20:51:40 +0000 |
| commit | f25fe647166375440a2945ca3393c1c54c3efe5c (patch) | |
| tree | d32a450a896aa7da924c30509019c5095b3fda47 /clang/lib/Lex/PPLexerChange.cpp | |
| parent | 7747ce226051791be0a03ec106d9502e3564c1af (diff) | |
| download | bcm5719-llvm-f25fe647166375440a2945ca3393c1c54c3efe5c.tar.gz bcm5719-llvm-f25fe647166375440a2945ca3393c1c54c3efe5c.zip | |
[X86] Emit more efficient >= comparisons against 0
We don't do a great job with >= 0 comparisons against zero when the
result is used as an i8.
Given something like:
void f(long long LL, bool *B) {
*B = LL >= 0;
}
We used to generate:
shrq $63, %rdi
xorb $1, %dil
movb %dil, (%rsi)
Now we generate:
testq %rdi, %rdi
setns (%rsi)
Differential Revision: http://reviews.llvm.org/D12136
llvm-svn: 245498
Diffstat (limited to 'clang/lib/Lex/PPLexerChange.cpp')
0 files changed, 0 insertions, 0 deletions

