diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2017-09-18 22:05:35 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2017-09-18 22:05:35 +0000 |
| commit | f31b1a00ea4d2916dfcc0fd476bebdb0fc60ff9f (patch) | |
| tree | 58b2fbe068da8af4c73d501d153c817d79ce91b0 /llvm/test/CodeGen/X86/critical-edge-split-2.ll | |
| parent | 1468677cbe9a39a8032a2e3e5363ffe74be96b40 (diff) | |
| download | bcm5719-llvm-f31b1a00ea4d2916dfcc0fd476bebdb0fc60ff9f.tar.gz bcm5719-llvm-f31b1a00ea4d2916dfcc0fd476bebdb0fc60ff9f.zip | |
[DAGCombiner] fold assertzexts separated by trunc
If we have an AssertZext of a truncated value that has already been AssertZext'ed,
we can assert on the wider source op to improve the zext-y knowledge:
assert (trunc (assert X, i8) to iN), i1 --> trunc (assert X, i1) to iN
This moves a fold from being Mips-specific to general combining, and x86 shows
improvements.
Differential Revision: https://reviews.llvm.org/D37017
llvm-svn: 313577
Diffstat (limited to 'llvm/test/CodeGen/X86/critical-edge-split-2.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/critical-edge-split-2.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/critical-edge-split-2.ll b/llvm/test/CodeGen/X86/critical-edge-split-2.ll index 693d1ab1fcf..9dd13cabac5 100644 --- a/llvm/test/CodeGen/X86/critical-edge-split-2.ll +++ b/llvm/test/CodeGen/X86/critical-edge-split-2.ll @@ -12,7 +12,7 @@ define i16 @test1(i1 zeroext %C, i8** nocapture %argv) nounwind ssp { ; CHECK-LABEL: test1: ; CHECK: # BB#0: # %entry ; CHECK-NEXT: movw $1, %ax -; CHECK-NEXT: testb %dil, %dil +; CHECK-NEXT: testl %edi, %edi ; CHECK-NEXT: jne .LBB0_2 ; CHECK-NEXT: # BB#1: # %cond.false.i ; CHECK-NEXT: movl $g_4, %eax |

