From 0ad1af72cd7e025b3ea6f7ccc7224449411a7ad6 Mon Sep 17 00:00:00 2001 From: Francis Visoiu Mistrih Date: Mon, 10 Dec 2018 16:04:56 +0000 Subject: [PATCH] [DAGCombiner] Simplify test case from r348759 Thanks Simon for pointing that out. llvm-svn: 348765 --- llvm/test/CodeGen/X86/combine-concatvectors.ll | 44 +++++++------------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/llvm/test/CodeGen/X86/combine-concatvectors.ll b/llvm/test/CodeGen/X86/combine-concatvectors.ll index ce2ec1a..40568d2 100644 --- a/llvm/test/CodeGen/X86/combine-concatvectors.ll +++ b/llvm/test/CodeGen/X86/combine-concatvectors.ll @@ -17,43 +17,23 @@ define void @PR32957(<2 x float>* %in, <8 x float>* %out) { ret void } +declare { i8, double } @fun() + ; Check that this does not fail to combine concat_vectors of a value from ; merge_values through a bitcast. -define void @d() personality i8* undef { +define void @d(i1 %cmp) { ; CHECK-LABEL: d: -; CHECK: # %bb.0: # %entry +; CHECK: # %bb.0: # %bar ; CHECK-NEXT: pushq %rax ; CHECK-NEXT: .cfi_def_cfa_offset 16 -; CHECK-NEXT: .Ltmp0: -; CHECK-NEXT: callq *%rax -; CHECK-NEXT: .Ltmp1: -; CHECK-NEXT: # %bb.1: # %bar -; CHECK-NEXT: .Ltmp2: -; CHECK-NEXT: callq *%rax -; CHECK-NEXT: .Ltmp3: -; CHECK-NEXT: # %bb.2: # %baz -; CHECK-NEXT: .LBB1_3: # %foo -; CHECK-NEXT: .Ltmp4: -entry: - %call16 = invoke { i8, double } undef() - to label %bar unwind label %foo - -foo: ; preds = %bar, %entry - %0 = landingpad { i8*, i32 } - cleanup - br label %bazr - -bar: ; preds = %entry - %1 = extractvalue { i8, double } %call16, 1 - %2 = bitcast double %1 to <2 x float> - invoke void undef() - to label %baz unwind label %foo - -baz: ; preds = %bar - %3 = extractelement <2 x float> %2, i64 0 - br label %bazr +; CHECK-NEXT: callq fun +bar: + %val = call { i8, double } @fun() + %extr = extractvalue { i8, double } %val, 1 + %bc = bitcast double %extr to <2 x float> + br label %baz -bazr: ; preds = %baz, %foo - %exn.obj = extractvalue { i8*, i32 } undef, 0 +baz: + %extr1 = extractelement <2 x float> %bc, i64 0 unreachable } -- 2.7.4