summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2018-04-18 15:52:50 +0000
committerChandler Carruth <chandlerc@gmail.com>2018-04-18 15:52:50 +0000
commitccd3ecb95a466b009ea783745f5ebf34555d3426 (patch)
tree3a901c684162ad811df5067135586a1aec083fee /clang/lib
parenteaeb64a8146c57b5ed0f4175179c7eaad3585b23 (diff)
downloadbcm5719-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')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud