diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-04-22 18:47:44 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-04-22 18:47:44 +0000 |
commit | 341c11da3bda1a3f877a3dc6e96f7d1f866f703f (patch) | |
tree | 228b68cdcf3a22072f811465d3ab9fbcf8ab2523 /clang/test/SemaCXX/PR9459.cpp | |
parent | ad45d911bb63141f0904b00c41a5f4f992f0ef33 (diff) | |
download | bcm5719-llvm-341c11da3bda1a3f877a3dc6e96f7d1f866f703f.tar.gz bcm5719-llvm-341c11da3bda1a3f877a3dc6e96f7d1f866f703f.zip |
DAGCombine: fold "(zext x) == C" into "x == (trunc C)" if the trunc is lossless.
On x86 this allows to fold a load into the cmp, greatly reducing register pressure.
movzbl (%rdi), %eax
cmpl $47, %eax
->
cmpb $47, (%rdi)
This shaves 8k off gcc.o on i386. I'll leave applying the patch in README.txt to Chris :)
llvm-svn: 130005
Diffstat (limited to 'clang/test/SemaCXX/PR9459.cpp')
0 files changed, 0 insertions, 0 deletions