[X86] Remove icmp undef from reduced tests

Pre-commit for D59363 (Add icmp UNDEF handling to SelectionDAG::FoldSetCC)

Approved by @spatel (Sanjay Patel)

llvm-svn: 356859
This commit is contained in:
Simon Pilgrim 2019-03-24 17:02:08 +00:00
parent a71c0ed471
commit 4465a765ee
3 changed files with 27 additions and 27 deletions

View File

@ -14,7 +14,7 @@ target triple = "x86_64-unknown-linux-gnu"
@d = external global i32*, align 8
; Function Attrs: norecurse noreturn nounwind uwtable
define void @fn1(i32 %p1) {
define void @fn1(i32 %p1, i32 %p2, i64 %p3) {
entry:
%tmp = load i32*, i32** @d, align 8
%tmp1 = load i32*, i32** @a, align 8
@ -26,10 +26,10 @@ for.cond: ; preds = %for.inc14, %entry
%indvars.iv30.in = phi i32 [ %indvars.iv30, %for.inc14 ], [ %p1, %entry ]
%c.0 = phi i32 [ %inc15, %for.inc14 ], [ 1, %entry ]
%k.0 = phi i32 [ %k.1.lcssa, %for.inc14 ], [ undef, %entry ]
%tmp3 = icmp sgt i32 undef, 0
%tmp3 = icmp sgt i32 %p2, 0
%smax52 = select i1 %tmp3, i32 %c.0, i32 0
%tmp4 = zext i32 %smax52 to i64
%tmp5 = icmp sgt i64 undef, %tmp4
%tmp5 = icmp sgt i64 %p3, %tmp4
%smax53 = select i1 %tmp5, i64 %tmp2, i64 %tmp4
%tmp6 = add nsw i64 %smax53, 1
%tmp7 = sub nsw i64 %tmp6, %tmp4

View File

@ -96,18 +96,18 @@ define i32 @loop_shared_header(i8* %exe, i32 %exesz, i32 %headsize, i32 %min, i3
; CHECK-NEXT: testb %al, %al
; CHECK-NEXT: jne .LBB1_26
; CHECK-NEXT: # %bb.1: # %if.end19
; CHECK-NEXT: movl %esi, %ebp
; CHECK-NEXT: movl %esi, %r13d
; CHECK-NEXT: movq %rdi, %r12
; CHECK-NEXT: movl (%rax), %r14d
; CHECK-NEXT: leal (,%r14,4), %r13d
; CHECK-NEXT: movl %r13d, %r15d
; CHECK-NEXT: movl (%rax), %ebp
; CHECK-NEXT: leal (,%rbp,4), %r14d
; CHECK-NEXT: movl %r14d, %r15d
; CHECK-NEXT: movl $1, %esi
; CHECK-NEXT: movq %r15, %rdi
; CHECK-NEXT: callq cli_calloc
; CHECK-NEXT: testl %ebp, %ebp
; CHECK-NEXT: testl %r13d, %r13d
; CHECK-NEXT: je .LBB1_25
; CHECK-NEXT: # %bb.2: # %if.end19
; CHECK-NEXT: testl %r14d, %r14d
; CHECK-NEXT: testl %ebp, %ebp
; CHECK-NEXT: je .LBB1_25
; CHECK-NEXT: # %bb.3: # %if.end19
; CHECK-NEXT: movq %rax, %rbx
@ -115,37 +115,37 @@ define i32 @loop_shared_header(i8* %exe, i32 %exesz, i32 %headsize, i32 %min, i3
; CHECK-NEXT: testb %al, %al
; CHECK-NEXT: jne .LBB1_25
; CHECK-NEXT: # %bb.4: # %if.end19
; CHECK-NEXT: cmpq %r12, %rax
; CHECK-NEXT: cmpq %r12, %rbx
; CHECK-NEXT: jb .LBB1_25
; CHECK-NEXT: # %bb.5: # %if.end50
; CHECK-NEXT: movq %rbx, %rdi
; CHECK-NEXT: movq %r15, %rdx
; CHECK-NEXT: callq memcpy
; CHECK-NEXT: cmpl $4, %r13d
; CHECK-NEXT: cmpl $4, %r14d
; CHECK-NEXT: jb .LBB1_28
; CHECK-NEXT: # %bb.6: # %shared_preheader
; CHECK-NEXT: movb $32, %dl
; CHECK-NEXT: xorl %eax, %eax
; CHECK-NEXT: # implicit-def: $rcx
; CHECK-NEXT: testl %eax, %eax
; CHECK-NEXT: testl %ebp, %ebp
; CHECK-NEXT: je .LBB1_18
; CHECK-NEXT: .p2align 4, 0x90
; CHECK-NEXT: .LBB1_8: # %shared_loop_header
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
; CHECK-NEXT: cmpq %rbx, %rax
; CHECK-NEXT: jb .LBB1_27
; CHECK-NEXT: testq %rbx, %rbx
; CHECK-NEXT: jne .LBB1_27
; CHECK-NEXT: # %bb.9: # %inner_loop_body
; CHECK-NEXT: # in Loop: Header=BB1_8 Depth=1
; CHECK-NEXT: testl %eax, %eax
; CHECK-NEXT: jns .LBB1_8
; CHECK-NEXT: # %bb.10: # %if.end96.i
; CHECK-NEXT: # in Loop: Header=BB1_8 Depth=1
; CHECK-NEXT: cmpl $3, %eax
; CHECK-NEXT: cmpl $3, %ebp
; CHECK-NEXT: jae .LBB1_22
; CHECK-NEXT: # %bb.11: # %if.end287.i
; CHECK-NEXT: # in Loop: Header=BB1_8 Depth=1
; CHECK-NEXT: xorl %esi, %esi
; CHECK-NEXT: cmpl $1, %eax
; CHECK-NEXT: cmpl $1, %ebp
; CHECK-NEXT: setne %dl
; CHECK-NEXT: testb %al, %al
; CHECK-NEXT: jne .LBB1_15
@ -180,7 +180,7 @@ define i32 @loop_shared_header(i8* %exe, i32 %exesz, i32 %headsize, i32 %min, i3
; CHECK-NEXT: decl %esi
; CHECK-NEXT: movzwl %si, %esi
; CHECK-NEXT: leaq 1(%rcx,%rsi), %rcx
; CHECK-NEXT: testl %eax, %eax
; CHECK-NEXT: testl %ebp, %ebp
; CHECK-NEXT: jne .LBB1_8
; CHECK-NEXT: .LBB1_18: # %while.cond.us1412.i
; CHECK-NEXT: xorl %eax, %eax
@ -223,7 +223,7 @@ if.end19: ; preds = %entry
%notrhs = icmp eq i32 %0, 0
%or.cond117.not = or i1 %1, %notrhs
%or.cond202 = or i1 %or.cond117.not, undef
%cmp35 = icmp ult i8* undef, %exe
%cmp35 = icmp ult i8* %call, %exe
%or.cond203 = or i1 %or.cond202, %cmp35
br i1 %or.cond203, label %cleanup, label %if.end50
@ -238,7 +238,7 @@ shared_preheader: ; preds = %if.end50
outer_loop_header: ; preds = %outer_loop_latch, %shared_preheader
%bits.1.i = phi i8 [ 32, %shared_preheader ], [ %bits.43.i, %outer_loop_latch ]
%dst.0.ph.i = phi i8* [ undef, %shared_preheader ], [ %scevgep679.i, %outer_loop_latch ]
%2 = icmp eq i32 undef, 0
%2 = icmp eq i32 %0, 0
br i1 %2, label %while.cond.us1412.i, label %shared_loop_header
while.cond.us1412.i: ; preds = %outer_loop_header
@ -252,7 +252,7 @@ if.end41.us1436.i: ; preds = %while.cond.us1412.i
shared_loop_header: ; preds = %dup_early2, %dup_early1
%dst.0.i = phi i8* [ undef, %inner_loop_body ], [ %dst.0.ph.i, %outer_loop_header ], [ undef, %dead_block ]
%cmp3.i1172.i = icmp ult i8* undef, %call
%cmp3.i1172.i = icmp ult i8* null, %call
br i1 %cmp3.i1172.i, label %wunpsect.exit.thread.loopexit389, label %inner_loop_body
inner_loop_body: ; preds = %shared_loop_header
@ -260,11 +260,11 @@ inner_loop_body: ; preds = %shared_loop_header
br i1 %3, label %if.end96.i, label %shared_loop_header
dead_block: ; preds = %inner_loop_body
%cmp75.i = icmp ult i8* %dst.0.i, undef
%cmp75.i = icmp ult i8* %dst.0.i, null
br label %shared_loop_header
if.end96.i: ; preds = %inner_loop_body
%cmp97.i = icmp ugt i32 undef, 2
%cmp97.i = icmp ugt i32 %0, 2
br i1 %cmp97.i, label %if.then99.i, label %if.end287.i
if.then99.i: ; preds = %if.end96.i
@ -272,7 +272,7 @@ if.then99.i: ; preds = %if.end96.i
br label %cleanup
if.end287.i: ; preds = %if.end96.i
%cmp291.i = icmp ne i32 undef, 1
%cmp291.i = icmp ne i32 %0, 1
%conv294.i = select i1 %cmp291.i, i16 4, i16 3
br i1 undef, label %if.end308.i, label %outer_loop_latch

View File

@ -7,7 +7,7 @@
; and if.then64, and then the block dup2 gets duplicated into land.lhs.true
; and if.end70
define void @repeated_tail_dup(i1 %a1, i1 %a2, i32* %a4, i32* %a5, i8* %a6) #0 align 2 {
define void @repeated_tail_dup(i1 %a1, i1 %a2, i32* %a4, i32* %a5, i8* %a6, i32 %a7) #0 align 2 {
; CHECK-LABEL: repeated_tail_dup:
; CHECK: # %bb.0: # %entry
; CHECK-NEXT: .p2align 4, 0x90
@ -27,7 +27,7 @@ define void @repeated_tail_dup(i1 %a1, i1 %a2, i32* %a4, i32* %a5, i8* %a6) #0 a
; CHECK-NEXT: # %bb.4: # %if.then64
; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
; CHECK-NEXT: movb $1, (%r8)
; CHECK-NEXT: testl %eax, %eax
; CHECK-NEXT: testl %r9d, %r9d
; CHECK-NEXT: je .LBB0_1
; CHECK-NEXT: jmp .LBB0_8
; CHECK-NEXT: .p2align 4, 0x90
@ -37,7 +37,7 @@ define void @repeated_tail_dup(i1 %a1, i1 %a2, i32* %a4, i32* %a5, i8* %a6) #0 a
; CHECK-NEXT: .LBB0_6: # %dup2
; CHECK-NEXT: # in Loop: Header=BB0_1 Depth=1
; CHECK-NEXT: movl $2, (%rcx)
; CHECK-NEXT: testl %eax, %eax
; CHECK-NEXT: testl %r9d, %r9d
; CHECK-NEXT: je .LBB0_1
; CHECK-NEXT: .LBB0_8: # %for.end
; CHECK-NEXT: retq
@ -68,7 +68,7 @@ dup2: ; preds = %if.end70, %land.lhs
dup1: ; preds = %dup2, %if.then64
%val = load i32, i32* %a4, align 8
%switch = icmp ult i32 undef, 1
%switch = icmp ult i32 %a7, 1
br i1 %switch, label %for.cond, label %for.end
for.end: ; preds = %dup1