diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2018-04-18 15:52:50 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2018-04-18 15:52:50 +0000 |
commit | ccd3ecb95a466b009ea783745f5ebf34555d3426 (patch) | |
tree | 3a901c684162ad811df5067135586a1aec083fee /clang/lib/AST/OpenMPClause.cpp | |
parent | eaeb64a8146c57b5ed0f4175179c7eaad3585b23 (diff) | |
download | bcm5719-llvm-ccd3ecb95a466b009ea783745f5ebf34555d3426.tar.gz bcm5719-llvm-ccd3ecb95a466b009ea783745f5ebf34555d3426.zip |
[x86] Switch EFLAGS copy lowering to use reg-reg form of testing for
a zero register.
Previously I tried this and saw LLVM unable to transform this to fold
with memory operands such as spill slot rematerialization. However, it
clearly works as shown in this patch. We turn these into `cmpb $0,
<mem>` when useful for folding a memory operand without issue. This form
has no disadvantage compared to `testb $-1, <mem>`. So overall, this is
likely no worse and may be slightly smaller in some cases due to the
`testb %reg, %reg` form.
Differential Revision: https://reviews.llvm.org/D45475
llvm-svn: 330269
Diffstat (limited to 'clang/lib/AST/OpenMPClause.cpp')
0 files changed, 0 insertions, 0 deletions