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 | e7cf062537e898f830565db5dbf99ae9c928399e (patch) | |
tree | 3c87d0506e38a3039f8e6df7fc0ed061d232dd8c /test/MC | |
parent | eac0c9dc7759b013bbe831ace1afa37bc46915c6 (diff) | |
download | external_llvm-e7cf062537e898f830565db5dbf99ae9c928399e.zip external_llvm-e7cf062537e898f830565db5dbf99ae9c928399e.tar.gz external_llvm-e7cf062537e898f830565db5dbf99ae9c928399e.tar.bz2 |
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 :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130005 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
0 files changed, 0 insertions, 0 deletions