[llvm] r348765 - [DAGCombiner] Simplify test case from r348759
Francis Visoiu Mistrih via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 10 08:04:56 PST 2018
Author: thegameg
Date: Mon Dec 10 08:04:56 2018
New Revision: 348765
URL: http://llvm.org/viewvc/llvm-project?rev=348765&view=rev
Log:
[DAGCombiner] Simplify test case from r348759
Thanks Simon for pointing that out.
Modified:
llvm/trunk/test/CodeGen/X86/combine-concatvectors.ll
Modified: llvm/trunk/test/CodeGen/X86/combine-concatvectors.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/combine-concatvectors.ll?rev=348765&r1=348764&r2=348765&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/combine-concatvectors.ll (original)
+++ llvm/trunk/test/CodeGen/X86/combine-concatvectors.ll Mon Dec 10 08:04:56 2018
@@ -17,43 +17,23 @@ define void @PR32957(<2 x float>* %in, <
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
}
More information about the llvm-commits
mailing list