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 | |
| 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')
0 files changed, 0 insertions, 0 deletions

